আমি ইমপ্লিমেন্ট লেখার সময় হিন্দি-মিলনার টাইপিং অ্যালগরিদম সম্পর্কে পড়ছি এবং দেখুন যে যতক্ষণ প্রতিটি পরিবর্তনশীল সীমাবদ্ধ থাকে আপনি সর্বদা পারমাণবিক প্রকার বা প্রকারগুলি পাবেন যেখানে আর্গুমেন্টগুলি চূড়ান্ত প্রকার নির্ধারণ করবে, যেমন t1 -> t1
বা (t1 -> t2) -> (t1 -> t2)
যেখানে t1
এবং t2
টাইপ ভেরিয়েবল হয়।
আপনি এমন কিছু t1 -> t2
বা সহজভাবে কিছু পেতে চাইলে আমি এটি ভাবতে পারি না t1
, যা আমি বুঝতে পেরেছি যার অর্থ আলগোরিদমটি ভেঙে গেছে কারণ অভিব্যক্তির প্রকৃত ধরণ নির্ধারণের কোনও উপায় নেই। আপনি কীভাবে জানবেন যে যতক্ষণ না প্রতিটি ভেরিয়েবল সীমাবদ্ধ থাকে ততক্ষণ আপনি এই "ভাঙ্গা" জাতীয় কোনও টাইপ পাবেন না?
আমি জানি অ্যালগরিদমটি ভেরিয়েবলগুলির সাথে প্রকারের ফলন দেয় তবে আপনি ফাংশনে আর্গুমেন্টগুলি পাস করার পরে এগুলি সর্বদা সমাধান হয়ে যায়, যা টাইপযুক্ত কোনও ফাংশনে ক্ষেত্রে হবে না t1 -> t2
। এ কারণেই আমি জানতে চাই যে আমরা কীভাবে নিশ্চিত জানি যে অ্যালগরিদম কখনই এই ধরণের ফল দেয় না।
(মনে হচ্ছে আপনি এই "ভাঙ্গা" প্রকারগুলি এমএল এ পাবেন তবে আমি ল্যাম্বদা ক্যালকুলাস সম্পর্কে জিজ্ঞাসা করছি))