تم إصدار GNU Guile 3.0

يأخذ مكانا الإفراج عن جنو غيل 3.0، تطبيق مجاني للغة برمجة وظيفية مخطط، والذي يدعم القدرة على تضمين التعليمات البرمجية في التطبيقات بلغات البرمجة الأخرى. يمكن استخدام Guile كلغة لتطوير امتدادات التطبيق، أو تحديد التكوين، أو تطوير المكونات لربط البدائيات المختلفة التي يوفرها التطبيق. Guile هي لغة التطوير الرسمية لنظام التشغيل GNU.

يوجد في قلب Guile جهاز افتراضي فعال يقوم بتنفيذ مجموعة محمولة من التعليمات التي تم إنشاؤها بواسطة مترجم خاص للتحسين. يتكامل الجهاز الظاهري Guile بسهولة مع كود التطبيق في C وC++. بالإضافة إلى لغة المخطط، والتي يتم تنفيذ دعم المواصفات لها R5RS, R6RS и R7RS، قام مشروع Guile بتطوير مترجمين للغات أخرى، مثل ECMAScript وEmacs Lisp وLua (قيد التطوير). تتضمن الحزمة مكتبة من الوحدات التي تنفذ وظائف الخدمة القياسية، مثل العمل مع بروتوكول HTTP، وتحليل XML واستخدام أساليب البرمجة الموجهة للكائنات.

كان الابتكار الرئيسي في GNU Guile 3.0 هو تقديم مترجم JIT، بالإضافة إلى المترجم الفوري ومترجم الكود الثانوي المقدم مسبقًا، والذي تم تنفيذه في جهاز افتراضي خاص مرتبط بالتطبيق في شكل مكتبة. يسمح لك JIT بإنشاء كود الجهاز بسرعة ويسرع بشكل كبير تنفيذ تطبيقات Guile (تظهر الاختبارات تسريعًا يصل إلى 4 مرات). يدعم مترجم JIT بنيات x86-64 وi686 وARMv7 وAArch64.

بعض التحسينات الأخرى:

  • دعم مواصفات لغة المخطط الجديدة R7RS ووحدات المكتبة المحددة فيه؛
  • يوفر الجهاز الظاهري Guile الدعم للرمز الثانوي ذي المستوى الأدنى، مما يسمح بإجراء تحسينات متقدمة؛
  • دعم الجمع بين التعريفات والتعبيرات الداخلية (على سبيل المثال، "(define _ (begin (foo) #f))")؛
  • يُقترح تنفيذ موحد لنوع البيانات المنظمة ("السجلات")؛
  • تمت إعادة صياغة أساسيات التعامل مع الاستثناءات (الرمي والالتقاط)؛
  • الارتباطات المحددة لبناء الجملة الموسعة "else"، و"=>"، و"..." و"_"؛
  • في طلبات http وhttp-get والإجراءات الأخرى المتعلقة بعميل الويب، تمت إضافة القدرة على تنزيل المحتوى عبر قناة اتصال مشفرة باستخدام TLS مع التحقق الصحيح من الشهادة.

المصدر: opennet.ru

إضافة تعليق