🏆 💪 أكثر الكتب تحميلاً في لغة ليسب:
جواهر البلاغة في المعاني والبيان والبديع PDF
قراءة و تحميل كتاب جواهر البلاغة في المعاني والبيان والبديع PDF مجانا
القراءة الراشدة لتعليم اللغة العربية فى المدارس الإسلامية PDF
قراءة و تحميل كتاب القراءة الراشدة لتعليم اللغة العربية فى المدارس الإسلامية PDF مجانا
لغة ليسب
ليسب (بالإنجليزية: LISP أو Lisp) هي لغة برمجة ذات تاريخ عريق، فقد تم وضع مواصفاتها عام 1958 وبذلك تحل بعد الفورتران التي طورت قبلها بسنة، كثاني لغة برمجة عالية المستوى.
وضعت ليسب كلغة ترميز رياضية عملية وفق تعريف تفاضل لامبدا وتكاملها لألونزو تشرش Alonzo Church's Lambda Calculus، لكنه سرعان ما فضل استخدامها في أبحاث الذكاء الاصطناعي، وبتصدرها كإحدى أقدم اللغات، قدمت ليسب مبادئ عديدة في علوم الحاسب كبنى البيانات الشجرية Tree Data Structures والبرمجة كائنية التوجه.
تشير ليسب إلى المصطلح LISt Processing language، القوائم المتصلة (بالإنجليزية: Linked Lists)إحدى بنى البيانات الأساسية للغة، بل إن كود المصدر للغة مكون من قوائم، وكنتيجة لذلك، تعامل برامج ليسب كود المصدر كبنية بيانات Data Structure ما يعطي شأنا لنظام الماكرو Macro الذي يسمح للمبرمجين بإنشاء صيغ جديدة أو لغة مدمجة مختصة المجال في ليسب Domain-specific Programming Language.
التبادل بين الكود والبيانات يعطي للغة ليسب صيغة تعرف فورية Instantly Recognizable Syntax، فبرامج ليسب مكتوبة بشكل التعبير الرمزي S-expression (ترمز S إلى Symbol) أو كقوائم محاطة بأقواس، فعند استدعاء دالة Function "f" لها الوسائط Arguments x وy وz، تكتب تلك الدالة كالتالي:
(f x y z)
تاريخ ليسب
قام باختراع ليسب الأمريكي جون مككارثي عام 1958 في معهد ماساتشوستس للتقنية. مككارثي نشر تصميمه على الورق في مجلة Communications of the ACM بعنوان "الدوال المتعددة للتعابير الرمزية وحسابها بالآلة "الجزء الأول" Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I (علما أنه لم ينشر الجزء الثاني مطلقا)، أظهر أنه بواسطة بعض المعاملات البسيطة وإجراء ترميز للدوال، يمكن بناء لغة تطابق فكرة الشمولية لتورنغ لكن من أجل الخوارزميات.
أول من قام بتنفيذ هذا التصميم كان ستيف راسل على جهاز IBM 704، بينما ظهر أول مترجم مترجم ليسب كامل كان على يدي تيم هارت Tim Hart ومايك ليفن Mike Levin في معهد ماساتشوستس للتقنية عام 1962، اللغة التي قاما ببنائها أقرب للغة المنتشرة حاليا من التي صممها مككارثي.
بعض إصدارات ليسب
LISP 1.5.
Standard LISP.
Common LISP: إحدى الإصدارات الأكثر انتشارا.
Scheme: إحدى الإصدارات الأكثر انتشارا، من تطوير غاي إل. ستيل وجيرالد جاي سسمان.
Arc.
Clojure.
Autolisp: إصدارة ليسب المستخدمة في برنامج AutoCAD.
الصيغة والمفردات في ليسب
تعد لغة ليسب لغة تعبيرية التوجه Expression-oriented Language. وبخلاف أغلب اللغات، لا فارق بين التعبيرات Expressions والجمل Statements، فالكود يكتب جميعه كتعبيرات.
لعل ما يميز صيغة كود ليسب الأقواس المستخدمة في الإحاطة بين التعبيرات، وقد سبق ذكر المصطلح S-expression الذي يعطي لصيغة ليسب استخدام الرموز.
قائمة ليسب LISP List تكتب بين قوسين بداخلهما تسرد العناصر مفصولة بمسافة بيضاء، مثلا:
(1 2 foo)
هذه قائمة بها عناصر تسمى ذرات Atoms، وهي العددين 1 و2 وfoo، العنصر foo نوع من البيانات في ليسب يدعى "رمز Symbol"، يتم التعرف على نوع العنصر دون الحاجة للإعلان عنه. القائمة الخالية () تعتبر ذرة خاصة nil حيث يمكن اعتبارها ذرة إضافة لكونها قائمة.
قد تدخل القوائم كعناصر داخل قائمة ما، مثلا:
((1 2 (3 4)))
القائمة السابقة مكونة من عددين وقائمة بها عددين.
التعبيرات في ليسب تكتب كقوائم باستخدام صيغة الرموز أولا Prefix Notation، العنصر الأول هو اسم النموذج Form (مثلا: دالة Function، معامل حسابي Operator، ماكرو Macro، أو معامل خاص Special Operator وسيأتي شرحه)، بينما بقية العناصر تعد وسائط Arguments. على سبيل المثال، الدالة list تعيد وسائطها كقائمة، والتعبير التالي:
(list '1 '2 'foo)
يمثل هذه القائمة (1 2 foo). علامات التنصيص التي تسبق الوسائط تعد إحدى المعاملات الخاصة Special Operators، تمنع علامات التنصيص الوسائط من إجراء الحساب عليها (ليس ذلك ضروريا مع الأعداد طالما أن العدد 1 هو 1 على سبيل المثال)، بينما الوسائط التي تخلو من تلك المعاملات فيتم تنفيذها بشكل دوري Recursively قبل الانتهاء من التعبير، المثال التالي:
(list 1 2 (list 3 4))
يمثل هذه القائمة (1 2 (3 4))، لاحظ أن الوسيط الثالث هو قائمة، فالقوائم يمكن أن تتداخل كما سبق ذكره.
وبالمثل تعامل المعاملات الحسابية، ففي التعبير التالي:
(+ 1 2 3 4)
سيتم حساب القائمة وإعادة الناتج 10. يمكن توضيح المعادلة نفسها بصيغة "الرموز بالداخل Infix Notation" فتكون "1+2+3+4". المعاملات الحسابية في ليسب من نوع n-ary أي قابلة لاستقبال أي عدد n من الوسائط.
📚 عرض جميع كتب لغة ليسب:
almawrid modern arabic english dictionary قاموس المورد عربي إنجليزي ط 1995 PDF
قراءة و تحميل كتاب almawrid modern arabic english dictionary قاموس المورد عربي إنجليزي ط 1995 PDF مجانا
صيحة في سبيل العربية مقالات من أجل نهضة العربية وثقافتها PDF
قراءة و تحميل كتاب صيحة في سبيل العربية مقالات من أجل نهضة العربية وثقافتها PDF مجانا
القول الفصل في رد العامي إلى الأصل PDF
قراءة و تحميل كتاب القول الفصل في رد العامي إلى الأصل PDF مجانا
التهذيب بمحكم الترتيب الجمع بين ي لحن العامة لأبي بكر الزبيدي PDF
قراءة و تحميل كتاب التهذيب بمحكم الترتيب الجمع بين ي لحن العامة لأبي بكر الزبيدي PDF مجانا
نظم الفرائد وحصر الشرائد ت: العثيمين PDF
قراءة و تحميل كتاب نظم الفرائد وحصر الشرائد ت: العثيمين PDF مجانا
المفهوم على مقدمة ابن آجرّوم رحمه الله تعالى PDF
قراءة و تحميل كتاب المفهوم على مقدمة ابن آجرّوم رحمه الله تعالى PDF مجانا
الزيادات على إصلاح لحن العامة بالأندلس PDF
قراءة و تحميل كتاب الزيادات على إصلاح لحن العامة بالأندلس PDF مجانا
الجانب اللغوي عند الإمام القرطبي في تفسيره "الجامع لأحكام القرآن" PDF
قراءة و تحميل كتاب الجانب اللغوي عند الإمام القرطبي في تفسيره "الجامع لأحكام القرآن" PDF مجانا
البحث عن أدب حديث يصلح الأرض العربية ولا يفسد فيها PDF
قراءة و تحميل كتاب البحث عن أدب حديث يصلح الأرض العربية ولا يفسد فيها PDF مجانا
مناقشات واقتراحات حول صفحة كتب لغة ليسب: