سؤال

سمعت أن هناك بعض الآلية في Brovers نظرية LCF المستندة إلى LCF والتي تسمح فقط ببعض الوظائف لإنشاء قيم من نظرية النوع.أعتقد أن هذه تستند إلى أنواع البيانات مجردة.

هل يمكن لشخص ما رسم في كود الزائفة كيف يعمل هذا؟(في حالة صحيحة أعلاه)

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

المحلول

هنا بعض الأفكار والرمز من kernel (file thm.ml في isabelle / pure) من isabelle:

giveacodicetagpre.

أيضا هنا هو اقتباس من كتاب بولسون على مل. حول مجردة البيانات التي يقول:

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

لذلك لا يمكنك إنشاء إنشاء نموذج بيانات مجردة يمكنك استخدامه (وظائف الحقول +). الأمر على كيفية تنفيذ هذه الميزة يعتمد على اللغة. إذا كنت ترغب في القيام بذلك في حساب التفاضل والتكامل Lambda، فينبغي أن يكون هناك شيء من هذا القبيل في كتاب Benjamin Pierce's Tapl في الفصول اللاحقة.

مرجع لطيف لهذا هو أيضا هنا .

نصائح أخرى

إذا كنت أتذكر بشكل صحيح، كان هذا الفصل 5 أو 6 من كتيب جون هاريسون من المنطق العملي والمنطق الآلي .

كتب جون ستيرلينغ بعض ملاحظات للحصول على تلاوة في السنة أو الظهر، خصيصا ل LCF Simover باستخدام حساب التفاضل والتكامل المتوسطة.

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