سلايم

SLIME ، وهو نمط تفاعل Lisp المتفوق لمحرر Emacs ، هو نمط Emacs لتطوير تطبيقات Common Lisp . نشأ SLIME من نمط Emacs يُسمى SLIM كتبه إريك مارسدن. وقد طُوّر كمشروع برمجي مفتوح المصدر [ 2 ] بواسطة لوك غوري وهيلموت إيلر. ساهم أكثر من 100 مطور Lisp في تطوير SLIME منذ بدء المشروع عام 2003.

يتبع برنامج SLIME بنية خادم-عميل، مستخدمًا واجهة خلفية تُسمى Swank يتم تحميلها في لغة Common Lisp. من هذه الناحية، يُشبه بروتوكول خادم اللغة (LSP) ، الذي سبقه. تستخدم بعض محررات Common Lisp عميل LSP للغة Common Lisp. [ 3 ]

يعمل برنامج SLIME مع تطبيقات Common Lisp الرئيسية، مثل:

يمكن للغات البرمجة الأخرى الاستفادة من SLIME من خلال إضافة للمحرر، أو أن يكون لديها إضافات مستوحاة من SLIME:

سمات

يوفر SLIME تجربة بيئة تطوير متكاملة . بمجرد تحميل SLIME في المحرر وتحميل الواجهة الخلفية Swank في صورة Common Lisp قيد التشغيل، تصبح جميع التفاعلات مباشرة وتفاعلية، مما يؤدي فعليًا إلى "التحدث" إلى البرنامج قيد التشغيل وإضافة الميزات تدريجيًا.

يوفر السلايم ما يلي:

  • إكمال التعليمات البرمجية
  • تجميع الكود (تجميع الدالة عند نقطة معينة، أو منطقة معينة، أو ملف معين، أو مشروع معين)
  • تم تمييز ملاحظات التجميع في مخزن المصدر وجمعها في مخزن مخصص
  • تقييم الكود
  • البحث عن الوثائق
  • أداة فحص الكائنات التفاعلية
  • إيجاد التعريف
  • مصحح أخطاء تفاعلي قوي، يسمح للمبرمج بفحص مكدس الاستدعاءات، وإصلاح وإعادة تجميع دالة أثناء فتح مصحح الأخطاء وتوقف التنفيذ مؤقتًا، ثم استئناف التنفيذ من أي نقطة في المكدس
  • استخدام عمليات إعادة التشغيل في مصحح الأخطاء
  • جهاز المشي
  • التوسع الكلي
  • المسافة البادئة التلقائية للماكرو
  • المراجع المتبادلة: ابحث عن من يستدعي دالة أو ماكرو، ومن يعيّن رمزًا، ومن يعتمد على رمز، ومن يشير إليه، ومن يخصص طريقة، ومن يوسع ماكرو.
  • التلاعب بالأشياء من خلال "العروض التقديمية"
  • تصدير الرموز تلقائيًا
  • استدعاء الدالة عند النقطة المحددة في REPL
  • أوامر الاختصار (طباعة دليل العمل الحالي، البحث عن حزمة Quicklisp وتثبيتها، إلخ).
  • مرفق تتبع
  • أوامر التفكيك

الاستخدام عن بعد

يُتيح برنامج SLIME، المقترن بواجهة Swank الخلفية، الاتصال ببرنامج Lisp قيد التشغيل على جهاز آخر. [ 12 ]

وهذا يسمح للمبرمج بفحص البرنامج قيد التشغيل، وتغيير المعلمات، أو حتى تحميل وتجميع التعليمات البرمجية الجديدة، مما يؤدي فعليًا إلى ترقية النظام دون أي توقف.

مراجع

  1. "الإصدار 2.32" . 8 ديسمبر 2025. تم الاطلاع عليه في 10 ديسمبر 2025 .
  2. 1 2 Slime على github.com "الترخيص: برنامج SLIME مجاني. جميع الملفات، ما لم يُنص صراحةً على خلاف ذلك، هي ملكية عامة."
  3. إضافة Alive لبرنامج VSCode: https://github.com/nobody-famous/alive-lsp/
  4. برنامج CIDER مبني في الأصل على برنامج Slime: https://docs.cider.mx/cider/
  5. "swank-js" . GitHub . تم الاسترجاع في 2025-03-05 .
  6. https://github.com/slime/slime/blob/master/contrib/slime-scheme.el
  7. https://www.nongnu.org/geiser/
  8. https://github.com/slime/slime/blob/master/contrib/swank-kawa.scm
  9. "swankr" . مؤرشف من الأصل بتاريخ 2011-03-04 . تم الاطلاع عليه بتاريخ 2012-09-11 .
  10. "slime/contrib/swank.rb at master · slime/slime" . GitHub . تم الاسترجاع في 2025-03-05 .
  11. https://github.com/slime/slime/blob/master/contrib/swank-mit-scheme.scm
  12. https://slime.common-lisp.dev/doc/html/Connecting-to-a-remote-lisp.html#Connecting-to-a-remote-lisp