আমি একটি সংক্ষেপণমূলক ভাষার জন্য একটি সংকলক নিয়ে কাজ করছি এবং টাইপ অনুমান সমর্থন যোগ করতে চাই। আমি হিন্ডলি-মিলনার বুঝতে পারি, তবে টাইপ থিওরিটি আমি যেতে যেতে শিখছি, সুতরাং এটি কীভাবে খাপ খায় সে সম্পর্কে আমি অনিশ্চিত। নিম্নলিখিত সিস্টেমটি কি শব্দ এবং দৃid়ভাবে অক্ষম?
পদটি আক্ষরিক, পদগুলির সংমিশ্রণ, পদটির একটি উদ্ধৃতি বা আদিম।
সমস্ত পদ ফাংশন বোঝায়। এবং দুটি ফাংশনের জন্য , , যা বিপরীত রচনাটি বোঝায়। লিটারালগুলি নীলাদিক কার্যগুলি বোঝায়।ই 2 ই 1
রচনা ব্যতীত অন্যান্য শর্তাদি মৌলিক ধরণের বিধি রয়েছে:
উল্লেখযোগ্যভাবে অনুপস্থিত হ'ল আবেদনের নিয়ম, যেহেতু যুক্তিযুক্ত ভাষাগুলির অভাব রয়েছে।
একটি প্রকার হয় হয় আক্ষরিক, একটি প্রকারের পরিবর্তনশীল, বা স্ট্যাক থেকে স্ট্যাকের কোনও ফাংশন, যেখানে স্ট্যাকটিকে ডান-নেস্টেড টুপল হিসাবে সংজ্ঞায়িত করা হয়। সমস্ত ফাংশন সুস্পষ্টভাবে "বাকী স্ট্যাকের" সম্মানের সাথে বহুত্বপূর্ণ are
এটি সন্দেহজনক বলে মনে হচ্ছে এমন প্রথম জিনিস, তবে আমি এতে ঠিক কী জানি না এটির মধ্যে কী আছে।
পঠনযোগ্যতা এবং প্রথম বন্ধনী কাটাতে সহায়তা করার জন্য, আমি ধরে নেব যে ধরণের স্কিমগুলিতে । আমি একটি ভ্যারিয়েবলের জন্য একটি একক মানের পরিবর্তে একটি স্ট্যাককে চিহ্নিত করে একটি মূলধনপত্রও ব্যবহার করব।
ছয়টি আদিম আছে। প্রথম পাঁচটি বেশ নির্দোষ। dup
সর্বোচ্চতম মান নেয় এবং এর দুটি অনুলিপি তৈরি করে। swap
শীর্ষ দুটি মানের ক্রম পরিবর্তন করে। pop
শীর্ষ মান বাতিল। quote
একটি মান নেয় এবং একটি উদ্ধৃতি (ফাংশন) উত্পাদন করে যা এটি প্রদান করে। apply
স্ট্যাকের একটি উদ্ধৃতি প্রয়োগ করে।
সর্বশেষcompose
দুটি উক্তি গ্রহণ করা উচিত এবং তাদের হবে, । স্ট্যাটিক্যালি টাইপ করা concatenative ভাষায় বিড়াল , ধরণ খুব সহজবোধ্য।compose
যাইহোক, এই ধরণেরটি খুব সীমাবদ্ধ: এটির প্রয়োজন প্রথম ফাংশনের উত্পাদন দ্বিতীয়টির ব্যবহারের সাথে ঠিক মেলে । বাস্তবে, আপনাকে আলাদা আলাদা ধরণের নিতে হবে, তারপরে সেগুলিকে একীভূত করতে হবে। তবে আপনি কীভাবে লিখবেন?
যদি আপনি দুটি প্রকারের পার্থক্য বোঝাতে দেন তবে আমি মনে করি আপনি প্রকারটি সঠিকভাবে লিখতে পারেন ।compose
এটি এখনও তুলনামূলকভাবে এবং একটিcompose
ফাংশন নেয় । তার ফলাফলের হ্রাস খরচ উপরে দ্বারা নয় উত্পাদিত , এবং উত্পাদন করে উৎপাদনের উপরে খায় না । এটি সাধারণ রচনার জন্য নিয়ম দেয়।f 2 : D → E B f 2 f 1 D f 1 f 2
তবে, আমি জানি না যে এই হাইপোথিটিক্যাল আসলে যে কোনও কিছুর সাথে মিলে যায় এবং আমি দীর্ঘকাল ধরে চেনাশোনাগুলিতে এটির পিছনে তাড়া করে চলেছি যা আমি মনে করি যে আমি একটি ভুল ঘুরিয়ে নিয়েছি। এটি tuples একটি সহজ পার্থক্য হতে পারে?
এ সম্পর্কে কি ভয়াবহভাবে কিছু ভেঙে গেছে যা আমি দেখছি না, বা আমি সঠিক ট্র্যাকের মতো কিছুতে রয়েছি? (আমি সম্ভবত এই জিনিসগুলির কিছুটিকে ভুলভাবে পরিমাণমুক্ত করেছি এবং সেই অঞ্চলে সংশোধনকেও প্রশংসা করব))
compose
কেন খুব বাধাজনক? আমার ধারণা আছে যে এটি ঠিক আছে। (যেমন