হেস্কেলের নির্ভরশীল প্রকার রয়েছে কি?


20

আমি জানি হাস্কেলের মধ্যে ইতিমধ্যে অন্য ধরণের (সি ++ তে টেমপ্লেট প্রোগ্রামিংয়ের অনুরূপ) কোনও ধরণের প্যারামিটারাইজ করার ক্ষমতা রয়েছে তবে আমি ভাবছি যে হ্যাস্কেলও কোনও ধরণের মানকে পরামিতি করতে পারে কিনা - এটি নির্ভরশীল প্রকারগুলিকে সমর্থন করে কিনা। নির্ভরশীল প্রকারের সাথে, আপনার কাছে এমন একটি ধরণ থাকতে পারে যা পূর্ণসংখ্যার উপর প্যারাম্যাট্রিসড থাকে, উদাহরণস্বরূপ আকার n এর ভেক্টর, মাপের ম্যাট্রিক্স n × m ইত্যাদি etc.

তা না হলে কেন? এবং ভবিষ্যতে এটি সমর্থিত হওয়ার কোনও সম্ভাবনা আছে কি?

উত্তর:


18

হাস্কেলের পুরোপুরি নির্ভরশীল প্রকার নেই, যদিও এটি DataKindsএবং এর মতো এক্সটেনশানগুলির সাথে খুব কাছাকাছি যেতে পারে TypeFamilies। এই মুহুর্তে সমস্যাটি, যতদূর আমি জানি যে মান-স্তরের হাস্কেলের স্পষ্ট বোতল রয়েছে তবে টাইপ-লেভেল হাস্কেল তা করে না।

এটি আপনাকে মূল্যবোধের উত্তোলন সহDataKind অন্যান্য ধরণের উপরে প্যারামিট্রাইজিং প্রকার থেকে বিরত রাখে না । জিএইচসি .6. DataKindsenabled হিসাবে এবং সক্ষম করে আপনি টাইপ-লেভেল ন্যাচারালস এবং স্ট্রিং পাশাপাশি টাইপ-লেভেল টিপলস, টাইপ-লেভেল লিস্ট এবং যে কোনও (নন-উচ্চ-ধরণের, অ-জেনারালাইজড , অ-সীমাবদ্ধ) বীজগণিত ডেটা টাইপ, যা টেমপ্লেটগুলিতে পূর্ণসংখ্যার ব্যবহারের সি ++ এর ক্ষমতার মতো (তবে এর চেয়ে অনেক বেশি সাধারণ) is


1
জিএইচসি 8-তে আসন্ন পরিবর্তনগুলি কি সম্পূর্ণ নির্ভরশীল প্রকারগুলি যুক্ত করে?
জানুস ট্রয়লসন

পছন্দ করেছেন তারা নির্ভরশীল ধরণের সক্ষম করে ।
পঠরিয়েনের শিখা

8

Ptharien এর শিখা বর্তমান অবস্থা সম্পর্কে কী সুন্দরভাবে ব্যাখ্যা করেছে তার কিছুটা প্রসারিত করার জন্য - এবং জিএইচসি হাস্কেল প্রতিটি সংস্করণ সহ নির্ভরশীল ধরণের (ফেজ পৃথকীকরণ সংরক্ষণের) দিকে এগিয়ে চলেছে বলে মনে হচ্ছে।

উদাহরণস্বরূপ, এই সেপ্টেম্বরে আইসিএফপি ২০১৩-তে, এই প্রক্রিয়াটির পরবর্তী ধাপের একটি প্রবন্ধ উপস্থাপন করা উচিত, "নির্ভরশীলভাবে টাইপ করা হাসকল: প্রকারের সমতা সহ সিস্টেম এফসি" , ধরণ এবং প্রকারের স্তরগুলি ভেঙে ফেলার বিষয়ে। যেমনটি প্রায় ৩ বছর আগে পরিকল্পনা হওয়ার ঘোষণা দেওয়া হয়েছিল ।

এমনকি এটি পরবর্তী পদক্ষেপের কথাও উল্লেখ করেছে: "আমরা এও জানি যে অ্যাডাম গন্ড্রির আগত প্রবন্ধটি সিস্টেম এফসির একটি সংস্করণে Π-প্রকার অন্তর্ভুক্ত করবে এবং আমরা উত্স ভাষাতেও এই বৈশিষ্ট্যটি উপলব্ধ করতে চাইব। (ব্যক্তিগত যোগাযোগ)"


2

হাস্কেল traditionতিহ্যগতভাবে এটিকে নকল করার চেষ্টা করেছেন, তবে শেষ ফলাফলটি অনেক বড় এবং আপাতদৃষ্টিতে পুনরাবৃত্তি টাইপ সিস্টেম। তবে শীঘ্রই এটি পরিবর্তন হতে পারে! দেখা:

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