হাস্কেলের কেন টাইপ-লেভেল ল্যাম্বডা বিমূর্ততা নেই?


22

এর জন্য কি কিছু তাত্ত্বিক কারণ রয়েছে (যেমন টাইপ চেকিং বা টাইপ অনুক্রমটি অনস্বীকার্য হয়ে উঠবে), বা ব্যবহারিক কারণগুলি (সঠিকভাবে প্রয়োগ করা খুব কঠিন)?

বর্তমানে, আমরা জিনিসগুলিকে newtypeপছন্দ মতো মোড়ানো করতে পারি

newtype Pair a = Pair (a, a)

এবং তারপর আছে Pair :: * -> *

তবে আমরা এর মতো কিছু করতে পারি না λ(a:*). (a,a)

(কিছু ভাষা রয়েছে সেগুলি রয়েছে, উদাহরণস্বরূপ, স্কালায় আছে ))


4
ব্যবহারের জন্য এক ধরণের সিস্টেম নির্বাচন করা অন্য ধরণের ধরণের সিস্টেমকে বাদ দেয় কারণ পুরো জিনিসটি সামঞ্জস্যপূর্ণ হওয়া দরকার। টাইপ লেভেল
লাম্বদা

উত্তর:


17

টাইপ লেভেল ল্যাম্বডাস সহ টাইপ ইনফেরেন্সের জন্য উচ্চতর অর্ডার ইউনিফিকেশন প্রয়োজন যা অনস্বীকার্য। এগুলি তাদের অস্বীকার করার প্রেরণা। তবে অন্যান্য অনস্বীকার্য বৈশিষ্ট্যগুলির (যেমন জিএডিডিগুলির জন্য টাইপ অনুক্রমের মতো) ঘটেছে, তেমন স্বাক্ষরগুলির প্রয়োজন হয় এবং এটি অনুমোদিত হতে পারে। আমি নিশ্চিত না যে এটি কারও দ্বারা তদন্ত করা হয়েছে কিনা।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.