لغات البرمجة

لغة البرمجة Common Lisp

لغة Common Lisp (CL) هي لهجة من لغة البرمجة Lisp، تم نشرها في مستند المعيار ANSI INCITS 226-1994 (R2004) (السابقاً X3.226-1994 (R1999)). تم استمداد الHyperSpec الخاص بـ Common Lisp، وهو إصدار HTML مرتبط بشكل هيكلي، من معيار ANSI Common Lisp. تم تطوير لغة Common Lisp كخلف موحد ومحسن لـ Maclisp. بحلول أوائل الثمانينات كانت عدة مجموعات بالفعل تعمل على خلفاء متنوعين لـ MacLisp: Lisp Machine Lisp (المعروف أيضاً باسم ZetaLisp)، Spice Lisp، NIL و S-1 Lisp. سعت Common Lisp لتوحيد وتوحيد وتوسيع ميزات هذه اللهجات Maclisp.

تعتبر لغة Common Lisp مواصفة للغة وليست تنفيذًا. هناك عدة تنفيذات متوفرة لمعيار Common Lisp، بما في ذلك البرمجيات المجانية ومفتوحة المصدر والمنتجات الخاصة. Common Lisp هي لغة برمجة عامة متعددة النماذج. إنها تدعم مزيجًا من البرمجة الإجرائية والوظيفية والموجهة نحو الكائنات. كلغة برمجة ديناميكية، تسهل عملية التطوير التطوري والتدريجي للبرمجيات، مع الترجمة التدريجية إلى برامج تشغيل فعّالة. يتم غالباً إجراء هذا التطوير التدريجي تفاعلياً دون توقف التطبيق القائم. كما تدعم احتمالية التعليقات والتحويل الاختياري للنوع، والتي يمكن إضافتها حسب الحاجة في مراحل التصحيح والتحسين للسماح للمترجم بتوليد كود أكثر كفاءة.

تتضمن Common Lisp CLOS، وهو نظام كائن يدعم الطرق متعددة ومجموعات الطرق. غالباً ما يتم تنفيذه مع بروتوكول Metaobject. يمكن توسيع Common Lisp من خلال ميزات قياسية مثل Lisp macros (تحويلات الشفرة) و reader macros (محللات الإدخال للأحرف). توفر Common Lisp بعض التوافق مع Maclisp ولغة Lisp الأصلية لجون مكارثي. يتيح ذلك ترحيل البرمجيات القديمة Lisp إلى Common Lisp.

تجدر الإشارة إلى أن Common Lisp يدعم التعليقات على الأسطر ولديها نظام للتعليقات مع رمز معين، بالإضافة إلى ذلك يمكنها التعامل مع التنسيق الداخلي للشفرة بطريقة يمكن تفسيرها بشكل منطقي.