ستاندرد إم إل في نيوجيرسي
لغة Standard ML of New Jersey ( SML/NJ ؛ لغة الميتا القياسية لنيوجيرسي) هي مُصرّف وبيئة تطوير متكاملة للغة البرمجة Standard ML . وهي مكتوبة بلغة Standard ML، باستثناء نظام التشغيل المكتوب بلغة C. طُوّرت في الأصل بشكل مشترك بين مختبرات بيل وجامعة برينستون . [ 1 ] وهي برنامج مجاني ومفتوح المصدر، مُرخّص بموجب ترخيص برمجيات مُتساهل (شبيه بترخيص BSD).
اسمها هو إشارة إلى ولاية نيو جيرسي الأمريكية التي تقع فيها برينستون ومختبرات بيل، وإلى شركة ستاندرد أويل في نيو جيرسي ، وهي شركة احتكار النفط الشهيرة في أوائل القرن العشرين.
سمات
يقوم SML/NJ بتوسيع مكتبة SML'97 الأساسية بإضافة العديد من الهياكل ذات المستوى الأعلى: [ 4 ]
- معلومات النظام –
SysInfoيوفر الهيكل معلومات حول نظام التشغيل، مثل نوع نظام التشغيل ونوعه وإصداره وما إذا كان الجهاز يدعم المعالجة المتعددة أم لا . [ 5 ] - المؤشرات الضعيفة -
Weakيوفر الهيكل دعمًا للمؤشرات الضعيفة . [ 6 ] - التعليق الكسول -
Suspيُنفذ الهيكل عمليات التعليق اللازمة للتقييم الكسول (على عكس التقييم الفوري ). [ 7 ] - المكونات الداخلية للمترجم -
Internalsيوفر الهيكل إمكانية الوصول إلى العديد من المكونات الداخلية للمترجم، بما في ذلك طرق إنشاء وتعديل جدول الإشارات. [ 8 ] - الوصول غير الآمن -
Unsafeيوفر الهيكل وصولاً غير آمن إلى هياكل البيانات ووظائف نظام التشغيل. [ 9 ] - هياكل المترجم المرئية – يتضمن SML/NJ أيضًا هياكل توفر الوصول إلى مترجم ML، والذي يحتوي على هياكل فرعية لتحليل أداء التنفيذ، والتحكم في طباعة رسائل الخطأ والتحذيرات الخاصة بالمترجم، والطباعة الجميلة القابلة للتخصيص. [ 10 ]
كما يوفر SML/NJ بعض البنى النحوية التي لا تعد من الميزات القياسية لـ SML'97: [ 4 ]
- التعبيرات والأنماط المتجهة - يسمح SML/NJ بإنشاء المتجهات باستخدام بناء الجملة ويسمح بمطابقة الأنماط عليها باستخدام بناء جملة مماثل.
#[exp0, exp1, ..., expn−1] - أنماط Or - يقوم SML/NJ بتوسيع بناء جملة أنماط SML'97 للسماح بمطابقة أنماط متعددة في قاعدة واحدة، بشرط أن يكون لكل نمط نفس النوع، باستخدام .
(apat1 | ... | apatn) => exp - تضمين لغة الكائن – يوفر SML/NJ صيغة الاقتباس/الاقتباس المضاد التي تسمح بتضمين التعبيرات في الصيغة الملموسة للغة الكائن داخل تعبيرات وبرامج ML. [ 11 ]
- الوحدات النمطية ذات الرتبة الأعلى - يدعم SML/NJ تحديد معلمات الدوال من خلال السماح للدوال بأن تكون مكونات للهياكل، بالإضافة إلى الوحدات النمطية المعيارية لـ ML في شكل دوال.
تطوير
يُستخدم مصطلح Successor ML لوصف الإصدار التالي من اللغة. وقد استُخرجت الوثائق التي تصفها من ملفات SML/NJ '97، ووُضعت في مستودع GitHub لوثائق TeX ، حيث يُتوقع من المجتمع التعاون في تطوير اللغة. [ 12 ] ويمكن تفعيل ميزات Successor ML باستخدام خيار سطر الأوامر -Cparser.succ-ml=true. [ 13 ]
منذ عام 1998 على الأقل، [ 14 ] MLton [ 15 ] هو المترجم القياسي للتمهيد ، ويتضمن بعض [ 16 ] الدعم لـ Successor ML.
في عام 2008، بدأ العمل على HaMLet ، [ 17 ] وهو تطبيق مرجعي لـ Successor ML مكتوب بالكامل بلغة Standard ML. [ 18 ] اعتبارًا من عام 2018لا يزال HaMLet هو التطبيق الكامل الوحيد لـ Successor ML، مع إضافة ميزات جديدة. [ 16 ]
منذ عام 2015، [ 19 ] اتجه تطور SML/NJ نحو تطوير مكتبة Basis [ 20 ] وإضافة دعم لتعريف Successor ML مع إصدار النسخة 110.79. [ 13 ]
في نهاية عام 2020، تمت إضافة دعم 64 بت مع إصدار النسخة 110.99. [ 19 ]
انظر أيضاً
روابط خارجية
مراجع
- 1 2 "معلومات أساسية عن SML/NJ" . Smlnj.org . تم الاطلاع عليه بتاريخ 2018-09-05 .
- ↑ https://www.smlnj.org/ .
{{cite web}}: مفقود أو فارغ|title=( مساعدة ) - ↑ "رخصة اللغة الإنجليزية القياسية لولاية نيوجيرسي" . www.smlnj.org .
- 1 2 "ميزات خاصة من SML/NJ" . www.smlnj.org . تم الاطلاع عليه بتاريخ 2018-09-05 .
- ↑ "توقيع SYS_INFO" . www.smlnj.org . تم الاطلاع عليه بتاريخ 2018-09-05 .
- ↑ "التوقيع الضعيف" . www.smlnj.org . تم الاطلاع عليه بتاريخ 2018-09-05 .
- ↑ "توقيع برنامج SUSP" . www.smlnj.org . تم الاطلاع عليه بتاريخ 2018-09-05 .
- ↑ "التوقيع الداخلي" . www.smlnj.org . تم الاطلاع عليه بتاريخ 2018-09-05 .
- ↑ "البنية غير الآمنة" . www.smlnj.org . تم الاطلاع عليه بتاريخ 2018-09-05 .
- ↑ "المترجم المرئي" . www.smlnj.org . تم الاطلاع عليه بتاريخ 2018-09-05 .
- ↑ "SML/NJ Quote/Antiquote" . www.smlnj.org . تم الاطلاع عليه بتاريخ 2018-09-05 .
- ↑ "تعريف التعلم الآلي للخلف" . GitHub .
- 1 2 "النسخة 110.79 من نشرة ستاندرد إم إل في نيوجيرسي" . 2015-10-04.
- ↑ "ملاحظات تغيير MLton بتاريخ 19-03-1999" . GitHub .
- ↑ "مستودع MLton" . GitHub .
- 1 2 "ثلاثة جهود تنفيذية لدعم Successor ML" . GitHub .
- ↑ روسبرغ، أندرياس. "HaMLet S: أن تصبح أو لا تصبح خليفة ML" (PDF) .
- ↑ "مفسر مرجعي لـ SML" . GitHub .
- 1 2 "سجل تغييرات لغة الآلة القياسية لولاية نيو جيرسي للإصدار 110.99" .
- ↑ "مكتبة أساسيات التعلم الآلي القياسية" .
- لغات البرمجة الإجرائية
- عائلة لغات البرمجة ML
- مختبرات بيل
- جامعة برينستون
- مترجمات مجانية ومفتوحة المصدر
- مكتبات حاسوب مجانية
- لغات البرمجة التي تم إنشاؤها عام 1988
