Mercury

البرمجيات قطة:
Mercury
تفاصيل البرنامج:
الإصدار: 13.05.1
تاريخ إيداع: 15 Apr 15
المطور: Mercury Developers
ترخيص: حرر
شعبية: 11

Rating: 2.0/5 (Total Votes: 1)

وكانت

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

ما هو الجديد في هذا الإصدار:.

هذا الإصدار بوغفيكس إصلاحات بناء على سولاريس المشاكل ونت بي ويضيف دعما لاختيار # مترجم C في وقت والتكوين.
وقد تم إصلاح العديد من الأخطاء الطفيفة الأخرى.
وهناك أيضا بعض الإضافات الطفيفة إلى المكتبة القياسية.

ما هو الجديد في النسخة 13.05:

ويدعم الجيل من التنفيذية 64 بت على ويندوز الآن.
وقد تحسنت مرات تجميع لبرامج كبيرة جدا.
تم إضافة العديد من التحسينات تمثيل نوع جديد.
المصحح لديها الآن دعم أفضل للتعامل مع الزمر للمكالمات متكررة متبادل على المكدس.
وملزمة لمكتبة GLFW قد أضيفت إلى توزيع إضافات.
ويمكن الآن قعت جمعيات ولدت مع C # الخلفية مع اسم واضح.

ما هو الجديد في النسخة 11.01:

واضاف لدينا نوعين جديدة للنطاقات للغة.
A نطاق قدم من قبل أحد require_det جديدة كلمات، require_semidet، require_multi، require_nondet، require_cc_multi، require_cc_nondet، require_erroneous وrequire_failure، كما يوحي الاسم، ويتطلب الهدف داخل نطاق الحصول على الحتمية معين.
A نطاق أدخلها require_complete_switch الكلمة يتطلب الهدف داخل نطاق، إذا كان التبديل على متغير اسمه من قبل نطاق، ليكون التبديل الكامل، أي أن يكون السلاح لكافة الرموز وظيفة في نوع من تحول على متغير.
واضاف لدينا وسائط semidet لhash_table.fold / 4 و version_hash_table.fold / 4.
واضاف لدينا يسند وظائف جديدة إلى وحدة assoc_list. المسندات map_keys_only / 3 map_values_only / 3 و map_values ​​/ 3 تكملة المهام التي تحمل الاسم نفسه. المسندات مرشح / 3، negated_filter / 3، مرشح / 4، ودمج / 3، والتي لها أيضا إصدارات وظيفة، لا وظائف مشابهة جدا ليسند الذي يحمل نفس الاسم في وحدة قائمة، ولكن لا العمليات ذات الصلة على مفاتيح بدلا من كامل عناصر القائمة.
لقد انتقلنا وحدة التقييم كسول من توزيع إضافات وإلى وحدة المكتبة القياسية جديدة تسمى `كسول". كما تم جعلت من-الخلفية الملحد.
لقد إجراء تغييرات على وحدة قائمة المكتبة القياسية:
واضاف نحن في المسند list.member_index0 الجديدة / 3. هو مثل list.member / 2 إلا أنه كما يأخذ معلمة يمثلون مؤشر الصفرية للعنصر ضمن القائمة.
واضاف نحن في المسند list.map3_foldl الجديدة / 7 التي تقوم بتعيين أكثر من قائمة إنتاج ثلاث قوائم وقيمة واحدة مطوية.
واضاف نحن وسائط semidet مع بطاريات فريدة من نوعها لlist.foldl3 / 8، list.foldl4 / 10، list.foldl5 / 12، وlist.foldl6 / 14.
واضاف لدينا المسندات تقسم / 4 و divide_by_set / 4 إلى وحدة tree_bitset من المكتبة القياسية.
واضاف لدينا المسندات set_ctree234.member / 2 و set_ctree234.non_empty / 1. لدينا إضافة وظيفة set_ctree234.from_list / 1.
واضاف لدينا في set_bbbtree.count المسند / 2 وظيفة set_bbbtree.count / 1. هذه استبدال set_bbbtree.size المسند / 2 الذي هو مستنكر الآن.
واضاف لدينا في set_ordlist.non_empty المسند / 1.
واضاف لدينا في set_tree234.non_empty المسند / 1 وظيفة set_tree234.from_list / 1.
واضاف لدينا المسندات set_unordlist.non_empty / 1 و set_unordlist.count / 2، وظيفة set_unordlist.count / 1.
كل من وحدات في المكتبة القياسية التي تنفذ ADT مجموعة، (مجموعة، set_ordlist، set_unordlist، set_bbbtree، set_tree234، وset_ctree234)، ودعم الآن للطي على مجموعات مع ما يصل الى ستة بطاريات. وقد أضيفت أيضا وسائط التي توفر بطاريات فريدة ومعظمها فريدة من نوعها لمجموعة أضعاف.
لقد حققنا التغييرات التالية على وحدة مجموعة من المكتبة القياسية:
واضاف لدينا وظائف unsafe_elem / 2 وإلحاق / 2.
واضاف لدينا المسندات svset / 4، unsafe_svset / 4، foldl2 / 4، foldl2 / 6، foldr / 4، foldr2 / 6، map_foldl / 5، map_corresponding_foldl / 6، وعضو / 2.
واضاف لدينا المسندات version_array.foldl2 / 6، version_array.foldr / 4، وversion_array.foldr2 / 6 إلى المكتبة القياسية.
واضاف لدينا وسائط semidet مع بطاريات فريدة ومعظمها فريدة من نوعها لالمسندات التالية:
bimap.foldl2 / 6
bimap.foldl3 / 8
cord.foldl_pred / 4
cord.map_foldl / 5
list.map_corresponding_foldl2 / 8
list.map_corresponding_foldl3 / 10
list.map_corresponding3_foldl / 7
map.foldl3 / 8
واضاف لدينا المسند unsorted_aggregate2 / 6 إلى وحدة حلول من المكتبة القياسية.
واضاف لدينا عدة يسند وظائف للتتطلب وحدة من المكتبة القياسية. المسندات آسف / 2 و آسف تقرير / 3 عدم وجود ميزة، في حين أن يسند غير متوقعة / 2 وغير متوقعة / 3 تقرير خطأ داخلي في البرنامج؛ جميع ديك إصدارات وظيفة أيضا. المسند يتوقعون / 3 المكالمات غير متوقع إذا كان الشرط غير راضية. لدينا الآن نتوقع / 4 وكذلك نتوقع / 3. لنتوقع / 4 وكذلك نتوقع / 3، والحجج الأولى والأخيرة هي حالة المتوقعة ورسالة الخطأ على التوالي، ولكن مع توقع / 4، هناك نوعان من الحجج في منتصف لتحديد موقع الخطأ (عادة اسم من وحدة والمسند على التوالي). واضاف نحن أيضا expect_not / 3 و expect_not / 4، والتي هي مثل تتوقع / 3، ونتوقع / 4 على التوالي، إلا أنها تتوقع شرط أن تكون * * كاذبة، ليس صحيحا.

ما هو جديد في الإصدار 10.04.2:

هذا الإصدار هو الافراج عن علة الإصلاح. وهناك عدد من المشاكل التي تسببها تم إصلاحها المترجم لإجهاض، وقد تم إصلاح بعض العمليات RTTI كسر في الصف جافا، واضاف لدينا حلا لمشكلة مع دول مجلس التعاون الخليجي النسخة 4.4.

القيود:

وتنفيذ الحالي لا بعد تنفيذ لغة الزئبق تماما. القيود الرئيسية لتنفيذ الحالي هي ما يلي:
نحن لا نسمح التعرج واضح في النظام واسطة. من دون هذا، وسائط مثيل جزئيا غير صالحة للاستعمال، وهكذا هي متداخلة وسائط فريدة من نوعها.
المترجم لا يستخدم حتى الآن بنية إعادة الاستخدام أو تجميع لمرة وجمع القمامة لاستغلال وسائط فريدة من نوعها.
نوع وطريقة الاستدلال هم ناقص قليلا.
وبالإضافة إلى ذلك، قرارات التصميم في هذا implemenation فرضت الحدود التالية:
المسندات وظائف يمكن أن يكون على الأكثر حوالي 1000 الحجج.
حيث العليا يمكن أن يكون على الأكثر حوالي 500 الحجج.

برامج مماثلة

bigloo
bigloo

20 Feb 15

Spackager
Spackager

14 Apr 15

C
C

3 Jun 15

تعليقات ل Mercury

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!