سؤال

ما يميز اثنين مل اللهجات حدة ؟

هل كانت مفيدة؟

المحلول

هناك الكثير من الاختلافات ، وبعض التقنية بعض والسياسية.لقد حاولت أن أضع المزيد من الاختلافات الهامة أولا.

  • SML هي اللغة تعريف القياسية.أنها مستقرة (و في الواقع تم تجميدها حتى لا تتطور).الهدف Caml هو تنفيذ تسيطر عليها مجموعة صغيرة في INRIA.وأنها لا تزال تتطور.(IMO تطور تدار بشكل جيد.)

  • SML لديها العديد من التطبيقات ؛ Caml لديها واحد فقط.

  • الهدف Caml لديها عدد من الميزات الإضافية ، من بينها الأكثر وضوحا ربما كائنات متعددة الأشكال المتغيرات.

  • اللغتين بشكل كبير نماذج مختلفة من أنواع السجلات.لفترة وجيزة في Caml, أسماء حقول السجل يجب أن تكون فريدة من نوعها ، حيث في SML ، اثنين من أنواع مختلفة من السجل في نفس النطاق قد تكون أسماء الحقول المشتركة.هذه العادة يمكن أن تجعل ترقية من SML إلى Caml صعبة بعض الشيء.

  • هناك عدد غير قليل من الخلافات النحوية.

  • المكتبات القياسية وظائف مختلفة بشكل كبير.Caml مكتبة الضروري جدا, في حين أن SML أساس معيار المكتبة هو أكثر وظيفية.على سبيل المثال وظيفة تكوين مستوى أعلى البدائية في SML;انها ليست جزء من Caml المكتبة.Caml سلسلة المكتبة لا توفر أضعاف وظيفة (على الأقل ليس من النسخة 3.08).تطبيقات العديد من Caml List وظائف غير آمنة لفترة طويلة جدا قوائم ؛ أنها ضربة المكدس.

  • نوع أنظمة مختلفة بمهارة:في Caml, نوع التعليق على تعبير e : ty يقبل إذا كان نوع ty يوحد مع نوع من e.في SML ، e : ty تقبل فقط إذا كان نوع ty هو سبيل المثال من نوع e.هذا التمييز يجعل هذا الشرح في Caml أقل من ذلك بكثير مفيدة في الممارسة العملية ، لأنه من المستحيل أن استخدام نوع الشرح الإصرار على أن تعبير هو متعدد الأشكال.

  • Caml لديه أكثر من ذلك بكثير عاقل العلاقة بين واجهات (يسمى أنواع وحدة أو التوقيعات) و (الخرسانة) تطبيقات (يسمى وحدات أو الهياكل) من SML.في SML حد كبير أي شيء يذهب عليك أن تعتمد على المبرمج أن إقامة جيدة الاتفاقيات.في Caml جيد الاتفاقيات إنشاء القسري من قبل المترجم.

  • في SML ، العوامل الحسابية هي مثقلة أن تطبق على كل الفاصلة العائمة و البيانات عدد صحيح.في Caml والمشغلين لا زائد ؛ النقطة العائمة مشغلي رمز إضافي نقطة.

  • في SML ، مبرمج يمكن السيطرة على الأسبقية و associtivity من أقحم المشغلين.في Caml هذه هي التي تحدد الحرف الأول من المشغل اسم.هذا تقييد فوائد كونها قادرة على تحديد الخاصة بك أقحم التدوين.

لإجراء تحليل أكثر تفصيلا مع استكمال التحرير تعليق, هل يمكن أن ننظر أيضا في آدم Chlipala المقارنة الصفحة.

نصائح أخرى

لمزيد من التفاصيل بشأن الخلافات النحوية التي نورمان رامسي المذكورة هنا هي بضع صفحات الويب:

ولغة كامل الموضوعية ويضيف ملامح وجوه التوجه، وبعض الاختلافات الطفيفة في بناء الجملة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top