নির্ভরশীল প্রকারগুলি কি আপনাকে সাব-টাইপিংয়ের মতো সমস্ত কিছু দেয়?


24

প্রকার ও প্রোগ্রামিং ভাষার ভাষা সাব টাইপিংয়ের ক্ষেত্রে বেশ খানিকটা আলোকপাত করে, তবে যতদূর আমি বলতে পারি, সাব টাইপিং বিশেষত মৌলিক বলে মনে হয় না। সাবটাইপিং কি নির্ভরশীল ধরণের চেয়ে বেশি কিছু দেয়? নির্ভরশীল ধরণের সাথে কাজ করা আরও বেশি কাজ হতে বাধ্য, তাই আমি বুঝতে পারি কেন সাব টাইপগুলি অনুশীলনে কার্যকর হতে পারে। যাইহোক, আমি প্রোগ্রামিং ভাষার ভিত্তি হিসাবে গণিতের ভিত্তি হিসাবে টাইপ থিওরিতে বেশি আগ্রহী, আমার কি সাবটাইপিংয়ের দিকে বেশি মনোযোগ দেওয়া উচিত?

উত্তর:


22

সাবটাইপিং এবং নির্ভরশীল প্রকারগুলি অর্থোথোনাল ধারণাগুলি।

সাব টাইপিং সাধারণত সাবমোশন ধারণার সাথে সজ্জিত থাকে, যার মাধ্যমে এক ধরণের এক্সপ্রেশনটি এমন জায়গায় উপস্থিত হতে পারে যেখানে সুপার টাইপ আশা করা হয়।

সাবটাইপিং সিদ্ধান্ত গ্রহণযোগ্য হওয়ার সম্ভাবনা বেশি এবং বাস্তবায়নে পরিচালনা করা আরও সহজ।

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

আপনি যদি "সাবপ্রাইপিং নির্ভর ধরণের টাইপগুলি" এর একটি দ্রুত গুগল করেন তবে বেশিরভাগ 2000 বছরের কাছ থেকে আপনি নির্ভরশীল প্রকারগুলিতে সাব-টাইপিং যুক্ত করে আরও কিছু কাজ খুঁজে পান I আমি ধারণা করি যে মেটা-তত্ত্বটি সত্যই চ্যালেঞ্জপূর্ণ, সুতরাং নির্ভরশীল ধরণের কোনও সাব-টাইপিং উপস্থিত নেই প্রমাণ সহায়ক।


3
আপনাকে ধন্যবাদ, আমি ঠিক এটিই খুঁজছিলাম আমি এখন বেশ কয়েকটি নুব প্রশ্ন জিজ্ঞাসা করেছি যা দেখে মনে হচ্ছে কিছুটা ভালভাবে গৃহীত হয়েছে যদিও সিস্টিওরি.এসই এই জাতীয় প্রশ্নের সঠিক স্থান নয়। -5 থেকে +5 এর স্কেলে আপনি কি ভবিষ্যতে অনুরূপ প্রশ্নগুলিকে উত্সাহিত বা নিরুৎসাহিত করবেন? পার্শ্ব নোট হিসাবে, আমি যেমন এটি বুঝতে পেরেছি (রবার্ট হার্পার পড়া থেকে) টাইপ ক্লাসগুলি মডিউলগুলির একটি উপশ্রেণী, এটি কি ঠিক?
জন সালভাটিয়ার

3
এই প্রশ্নটি সিটিওরি.এসইয়ের জন্য উপযুক্ত কিসের সীমানার ডানদিকে রয়েছে। প্রকারের ক্লাসগুলি আসলে মডিউলগুলির একটি উপশ্রেণী নয়। এটি আরও প্রকারের ক্লাসগুলির মতো মডিউলগুলি + টাইপ ইনফারেন্স + ফ্রি_প্লাম্বিং।
ডেভ ক্লার্ক

2
আমি কল্পনা করতে পারি যে আপনি সর্বদা মোটামুটি সহজে নির্ভরশীল প্রকারগুলির সাথে সাবটিটিংয়ের মডেল / সিমুলেট করতে পারেন। হাস্কেল-তে, এইচএললিস্ট (যা কেবলমাত্র নির্ধারণযোগ্য ধরণের সাম্যতায় নির্মিত) আপনাকে সাব-টাইপিং দেয়, উদাহরণস্বরূপ (সিএফ "হাস্কেলের উপেক্ষিত অবজেক্ট সিস্টেম")। সাবটাইটিংয়ের একমাত্র শক্ত অংশটি হ'ল টাইপ ইনফেরেন্স, এবং একবার নির্ভরশীল প্রকারের সাথে কাজ করার পরে আপনি যেভাবেই এর 90% ছুঁড়ে ফেলেছেন।
sclv

(একটি মন্তব্য থেকে একটি উত্তরে পরিবর্তিত হয়েছে)
নীল কৃষ্ণস্বামী

মার্টিন-লয়েফের টাইপ তত্ত্বের সাবসেট তত্ত্বটি মূলত আপনার কাঠামো ভুলে মডেল করা দরকার এবং এটি 1980 এর দশকের। আমি মনে করি এটি @ নীল তার উত্তরে যা পাচ্ছে তা সাজানো।
চার্লস স্টুয়ার্ট

22

যাইহোক, আমি প্রোগ্রামিং ভাষার ভিত্তি হিসাবে গণিতের ভিত্তি হিসাবে টাইপ থিওরিতে বেশি আগ্রহী, আমার কি সাবটাইপিংয়ের দিকে বেশি মনোযোগ দেওয়া উচিত?

সাবটাইপ করার জন্য একটি অতিরিক্ত জিনিস আপনাকে দেয় যে সাবমোশনটি বোঝায় যে প্রচুর সংহত বৈশিষ্ট্য রয়েছে। আপনি নির্ভর করতে পারেন সাব-টাইপগুলির সাথে মডেল করার জন্য একটি নির্ভরশীল তত্ত্বের প্রুফ অপ্রাসঙ্গিকতার ধারণাও। উদাহরণস্বরূপ, নির্ভরশীল তত্ত্বের ক্ষেত্রে আপনি নির্ভরশীল রেকর্ড সহ উপসেট গঠন আনুমানিক করতে পারেন:

{এক্সএস|;পি(এক্স)} বনাম Σএক্স:এসপি(এক্স)

এসপি(এক্স)এক্স:

এক্স<:ওয়াইএক্স:এক্সএক্স:ওয়াইপি(এক্স)পি(এক্স)

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

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