ماكليس
ماكليسب (أو ماكليسب ، وتُكتب أحيانًا MacLisp أو MacLISP ) هي لغة برمجة ، وهي لهجة من لغة ليسب . نشأت في مشروع ماك التابع لمعهد ماساتشوستس للتكنولوجيا (MIT) [ 1 ] (والذي اشتُقّ منه اسمها) في أواخر الستينيات، واستندت إلى ليسب 1.5. [ 2 ] كان ريتشارد جرينبلات المطور الرئيسي لقاعدة الشفرة الأصلية لجهاز PDP-6 ؛ [ 1 ] وكان جون إل. وايت مسؤولاً عن صيانتها وتطويرها لاحقًا. بدأ استخدام اسم ماكليسب في أوائل السبعينيات لتمييزها عن النسخ الأخرى من ليسب PDP-6، ولا سيما BBN ليسب .
تاريخ
لغة ماكليسب هي امتداد للغة ليسب 1.5 . [ 3 ] تختلف ماكليسب عن ليسب 1.5 في استخدامها لخلية القيمة للوصول إلى القيم الديناميكية للمتغيرات وتخزينها ؛ [ 4 ] بينما كانت ليسب 1.5 تستخدم بحثًا خطيًا في قائمة الارتباطات لتحديد قيمة المتغير. [ 5 ] يتميز تقييم المتغيرات في ماكليسب بسرعة أكبر ، ولكنه يختلف في دلالات المتغيرات. كما تستخدم ماكليسب وحدات ماكرو للقراءة لجعل الإدخال والإخراج أكثر وضوحًا ، وهو ما يُعرف بالإدخال/الإخراج (I/O). فبدلاً من إدخال ، يمكن إدخال للحصول على نفس التعبير s-expression . على الرغم من أن كلا التطبيقين يضعان الدوال في قائمة الخصائص، إلا أن ماكليسب تستخدم صيغة مختلفة لتعريف الدوال. [ 6 ] كما تتميز ماكليسب بخاصية التحميل عند الطلب. [ 7 ](QUOTE A)'A
بدأ تطوير لغة ماكليسب على أجهزة كمبيوتر PDP-6 و PDP-10 التابعة لشركة ديجيتال إكويبمنت، والتي كانت تعمل بنظام المشاركة الزمنية غير المتوافق (ITS). لاحقًا، تم نقلها إلى جميع أنظمة تشغيل PDP-10 الأخرى، مثل نظام المشاركة الزمنية/نظام التشغيل الكامل ، ونظام TOPS-10 ، ونظام TOPS-20 . كانت النسخة الأصلية مكتوبة بلغة التجميع ، ولكن تم استخدام لغة PL/I في نسخة لاحقة على نظام Multics . شهدت ماكليسب تطورًا ملحوظًا خلال فترة تطويرها، حيث أُضيفت إليها ميزات رئيسية تُقابل عادةً أرقام إصدارات رئيسية في أنظمة لغات البرمجة الأخرى.
استُخدمت لغة ماكليسب لتنفيذ نظام الجبر الحاسوبي ماكسيما (CAS) أو برنامج الجبر الرمزي. كما ساهم تطوير ماكسيما في تطوير العديد من الميزات في ماكليسب. كُتب برنامج SHRDLU (برنامج عالم الكتل) بلغة ماكليسب، ولذلك كانت اللغة شائعة الاستخدام في مجتمع أبحاث الذكاء الاصطناعي حتى أوائل ثمانينيات القرن العشرين. كما استُخدمت لتنفيذ لغات برمجة أخرى، مثل بلانر وسكيم . واستُخدمت لغة مالتي سي إس ماكليسب لتنفيذ أول برنامج إيماكس مبني على لغة ليسب .
كان برنامج Maclisp تطبيقًا مؤثرًا للغة Lisp، ولكنه لم يعد يُحدَّث بانتظام. وهو يعمل الآن على محاكيات PDP-10 ويمكن استخدامه لتجربة برامج الذكاء الاصطناعي المبكرة.
| 1958 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LISP 1، 1.5، LISP 2 (مهجورة) | |||||||||||||||
| ماكليس | |||||||||||||||
| تداخل | |||||||||||||||
| MDL | |||||||||||||||
| آلة التأتأة | |||||||||||||||
| مخطط | R5RS | R6RS | R7RS صغير | ||||||||||||
| لا شيء | |||||||||||||||
| ZIL (لغة تنفيذ Zork) | |||||||||||||||
| فرانز ليسب | |||||||||||||||
| muLisp | |||||||||||||||
| لغة الشفرة الشائعة | معيار ANSI | ||||||||||||||
| لي لِسْب | |||||||||||||||
| مخطط معهد ماساتشوستس للتكنولوجيا | |||||||||||||||
| XLISP | |||||||||||||||
| تي | |||||||||||||||
| شيز سكيم | |||||||||||||||
| إيماكس ليسب | |||||||||||||||
| أوتو ليسب | |||||||||||||||
| PicoLi sp | |||||||||||||||
| غامبيت | |||||||||||||||
| EuLisp | |||||||||||||||
| لغة ISLISP | |||||||||||||||
| أوبن ليسب | |||||||||||||||
| مخطط PLT | مضرب | ||||||||||||||
| لغة نيو ليسب | |||||||||||||||
| جنو غايل | |||||||||||||||
| لغة ليسب المرئية | |||||||||||||||
| كلوجر | |||||||||||||||
| قوس | |||||||||||||||
| LFE | |||||||||||||||
| هي | |||||||||||||||
صفات
بدأت لغة ماكليسب بعدد محدود وثابت من أنواع البيانات : cons cell، وatom (الذي سُمّي لاحقًا symbol )، و integer ، و float-point number . وشملت الإضافات اللاحقة: المصفوفات ، التي لم تكن أبدًا من أنواع البيانات الأساسية؛ والأعداد الصحيحة ذات الدقة العشوائية (bignums)؛ والسلاسل النصية ؛ والصفوف . تم تنفيذ جميع الكائنات (باستثناء inums) كمؤشرات ، وتم تحديد نوع بياناتها بواسطة كتلة الذاكرة التي تشير إليها، مع حالة خاصة للأعداد الصغيرة (inums).
يمكن تفسير البرامج أو تجميعها . كان سلوك البرنامج المُجمَّع مماثلاً لسلوك البرنامج المُفسَّر، باستثناء أن المتغيرات المحلية كانت معجمية افتراضيًا في الكود المُجمَّع، ما لم يتم تعريفها كمتغيرات خاصة (SPECIAL)، [ 8 ] ولم يتم إجراء أي فحص للأخطاء للعمليات المضمنة مثل CAR وCDR. أدخل مُجمِّع Ncomplr (منتصف سبعينيات القرن العشرين) دعمًا عدديًا سريعًا للغات Lisp، حيث كان يُولِّد رمز الآلة (التعليمات) للعمليات الحسابية بدلاً من استدعاء إجراءات تفسيرية تُنفَّذ بناءً على نوع البيانات. جعل هذا العمليات الحسابية في Lisp مُقاربة في السرعة لسرعة Fortran في العمليات العددية (مع أن تنفيذ المصفوفات والحلقات في Fortran ظل أسرع بكثير).
كانت النسخة الأصلية محدودةً بذاكرة الكلمات ذات 18 بت في جهاز PDP-10، وبُذلت جهودٌ كبيرةٌ للحفاظ على بساطة التنفيذ وكفاءته. كانت لغة Multics Maclisp تتمتع بمساحة عناوين أكبر بكثير، ولكن استخدامها كان مكلفًا. عندما تجاوزت قدرة الذاكرة والمعالجة في جهاز PDP-10 حدودها، تم اختراع آلة Lisp : لغة Lisp Machine هي الوريث المباشر للغة Maclisp. كانت هناك أيضًا عدة لهجات أخرى للغة Lisp قيد الاستخدام، وأدت الحاجة إلى توحيد مجتمع المطورين إلى ظهور لغة Common Lisp الحديثة .
اسم
سُميت لغة ماكليس نسبةً إلى مشروع ماك ، وهي لا تمت بصلة إلى حاسوب ماكنتوش (ماك) من شركة أبل، الذي سبقته بعقود، ولا إلى جون مكارثي . ولا توجد أي أوجه تشابه بين أنظمة ليسب المختلفة الخاصة بماكنتوش ولغة ماكليس. [ 9 ]
مراجع
- 1 2 ليفي، ستيفن (1984). المخترقون: أبطال ثورة الحاسوب . دابلداي. ISBN 0-385-19195-2.
- ↑ تقرير مرحلي لمشروع ماك الرابع: يوليو 1966 إلى يوليو 1967 (ملف PDF) (تقرير). ndp 19. مؤرشف من الأصل (ملف PDF) بتاريخ 8 مارس 2016.
لغة البرمجة عالية المستوى المستخدمة في معظم برنامج مختبر الرؤية هي نظام PDP-6 LISP. يعتمد هذا النظام بشكل أساسي على لغة برمجة LISP 1.5، ولكنه خضع لتعديلات واسعة النطاق في عدة جوانب. تشمل هذه التعديلات العديد من الوظائف والخدمات الجديدة، بما في ذلك إمكانية الربط مع البرامج المكتوبة بلغات أخرى.
- ↑ مون 1974 ، ص. 1
- ↑ مون 1974 ، ص 47
- في Lisp 1.5، صفحة 13، يتم تقييم ذرة
eفي البيئةaباستخدام(cdr (assoc e a)). يتضمن ذلك بحثًا خطيًا في قائمة الارتباطاتa. يُقدَّم وصف أكثر تفصيلًا مع الثوابت العامة والأخطاء في الصفحة 71؛ حيث يتم إجراء بحث خطي في قائمة الخصائص قبل البحث في قائمة الارتباطات. - ↑ يستخدم Maclisp
defun؛ يستخدم Lisp 1.5define. - ↑ مون 1974 ، ص 107 ؛الملكية.
autoload - ↑ بيتمان، كينت (16 ديسمبر 2007). " دليل ماكليسب المنقح (دليل بيتمان)، طبعة صباح الأحد" . maclisp.info . شركة هايبرميتا. التصريحات والمترجم، مفهوم "المتغيرات" . تم الاطلاع عليه في 20 أكتوبر 2018.
إذا تم تعريف المتغير المراد ربطه على أنه خاص، يتم تجميع الربط كشفرة لمحاكاة طريقة ربط المفسر للمتغيرات.
- ↑ بيتمان، كينت (16 ديسمبر 2007). "دليل ماكليسب المنقح (دليل بيتمان)، طبعة صباح الأحد" . maclisp.info . شركة هايبرميتا. ص 1، الأسئلة الشائعة، س1 . تم الاطلاع عليه في 20 أكتوبر 2018.
لم يكن لمشروع ماك أي علاقة بجهاز ماك من آبل. وكذلك لم يكن لماكليسب أي علاقة به
.
روابط خارجية
- يحتوي الرابط https://softwarepreservation.computerhistory.org/LISP/maclisp_family.html على قائمة مراجع لـ Maclisp.
- جون ل. وايت. دليل مستخدم مؤقت للغة ليسب. مذكرة الذكاء الاصطناعي رقم 190، مشروع ماك، معهد ماساتشوستس للتكنولوجيا، مارس 1970، 87 صفحة. ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-190.pdf يذكر أن "ماك ليسب" تشير إلى تطبيق لغة البرمجة ليسب على معالج PDP/6 المستخدم في مجموعة الذكاء الاصطناعي التابعة لمشروع ماك.
- في عامي 1973 و1974، قاد ديفيد أ. مون جهودًا لتطبيق لغة ماك ليسب على جهاز هانيويل 6180 باستخدام برنامج مولتيكس. وكجزء من هذا المشروع، كتب أول دليل مرجعي شامل حقًا للغة ماك ليسب، والذي أصبح يُعرف باسم "دليل مون". [ستيل وغابرييل 1993]
- جون إل. وايت [JONL]، إريك روزن [ECR]، ريتشارد إم. ستالمان [RMS]، جاي إل. ستيل جونيور [GLS]، هوارد آي. كانون [HIC]، بوب كيرنز [RWK]. أخبار لغة ليسب. ملاحظات إصدار ماك ليسب.
- جون ل. وايت. لغة ليسب: البرنامج هو البيانات: منظور تاريخي حول ماك ليسب. وقائع مؤتمر مستخدمي ماكسيما لعام 1977. مكتب ناسا للمعلومات العلمية والتقنية (واشنطن العاصمة، يوليو 1977)، الصفحات 181-189. ملف PDF
- مكارثي، جون ؛ أبراهامز، بول دبليو؛ إدواردز، دانيال جيه؛ هارت، تيموثي بي؛ ليفين، مايكل آي. (1985) [1962]. دليل مبرمج لغة ليسب 1.5 (ملف PDF) ( الطبعة الثانية). مطبعة معهد ماساتشوستس للتكنولوجيا . رقم ISBN 0-262-13011-4.
- مون، ديفيد (1974). دليل مرجعي لبرنامج ماكليسب (ملف PDF) . مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 2011-10-05.
- دليل ماكليسب المنقح (1983) بقلم كينت بيتمان
- مُترجم لغة MACLISP من Multics (1977) بقلم برنارد غرينبيرغ
- عائلة لغات البرمجة ليسب
- لغة البرمجة ليسب
- برنامج Multics
- برامج متاحة للعموم مع شفرة المصدر
