আমি শিখতে পারি সবচেয়ে স্বজ্ঞাত নির্ভরশীল টাইপ তত্ত্বটি কী?


46

আমি নির্ভর করতে পারি টাইপিংয়ের উপর নির্ভরযোগ্য একটি সত্য উপলব্ধি করতে। আমি বেশিরভাগ টাপিএল পড়েছি এবং এটিটিএপিএল-তে 'নির্ভরশীল প্রকারগুলি' পড়েছি । আমি নির্ভরশীল টাইপিংয়ের উপর প্রচুর নিবন্ধগুলি পড়েছি এবং স্কিম করেছি।

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

আমি এই জাতীয় ভাষার প্রত্যাশা / অনুমান করার মতো বৈশিষ্ট্যগুলি রয়েছে: (এবং দয়া করে আমাকে নির্দিষ্ট করে কিছু বিভ্রান্ত বা অবাস্তব হিসাবে প্রকাশিত হয় তবে আমাকে জানান)

  • সাধারণ বিমূর্ততা (হায়ারার্কি টাইপের যে কোনও ডোমেইন থেকে অন্য, ধরণের -> পদ, শব্দ-> টাইপ '' 'ইত্যাদিতে কোনও ফাংশন থাকতে পারে))
  • টাইপিংয়ের একটি অসীম শ্রেণিবিন্যাস রয়েছে (পদ: প্রকার: প্রকার ': প্রকার' ': ...)
  • ন্যূনতম মৌলিক উপাদানগুলির সংখ্যা। আমি ধারণা করছি যে ভাষা প্রতিটি স্তরের জন্য কেবল একটি একক উপাদানকে জোর দিয়েছিল। উদাহরণস্বরূপ এটি দৃsert় হতে পারে যে ((): ইউনিট: প্রকার: টাইপ ': ...)। অন্যান্য উপাদানগুলি এই উপাদানগুলি থেকে নির্মিত।
  • যোগফল এবং পণ্যের ধরণগুলি উপার্জনযোগ্য।

আমি সেই ভাষাটির ব্যাখ্যাও খুঁজছি যা আদর্শভাবে আলোচনা করবে:

  • ভাষায় বিমূর্তি এবং পরিমাপের মধ্যে সম্পর্ক। যদি তারা একীভূত না থাকে, তবে কেন তারা একীভূত নয় তা ব্যাখ্যা করুন।
  • সুস্পষ্টভাবে অসীম ধরণের শ্রেণিবিন্যাস

আমি এই প্রশ্নটি জিজ্ঞাসা করছি কারণ আমি নির্ভরশীল ধরণের তত্ত্বটি শিখতে চাইছি তবে এটির কারণেই আমি একটি গাইড বানাতে চাই যা একটি সামান্য সিএস ব্যাকগ্রাউন্ড ধরে ধরে প্রুফ অ্যাসিস্ট্যান্ট এবং নির্ভরশীলভাবে টাইপ করা ভাষাগুলির ব্যবহার এবং কীভাবে শিখায় understand

(ক্রস রেডডিতে পোস্ট করা)

উত্তর:


35

এটি কাছে আসার কয়েকটি ভিন্ন উপায় রয়েছে:

  1. নির্ভরশীল ধরণের তত্ত্ব । নির্ভরশীল প্রকারগুলি সম্পর্কে সম্ভবত এটি শেখার সহজতম উপায় নয়, তবে আপনি উদাহরণস্বরূপ সিন্ট্যাক্স এবং নির্ভরশীল প্রকারের সিনট্যাক্স সম্পর্কিত ক্যালকুলাস অফ কনস্ট্রাকশনসের কাগজপত্র এবং তাদের রূপগুলি, খাঁটি টাইপ সিস্টেমগুলি এবং মার্টিন হফম্যানের নিবন্ধটি দেখতে পারেন।

  2. উপপাদ্য প্রমাণ করছে । প্রথমত, সম্পর্কিত প্রশ্নের আমার উত্তরটি একবার দেখুন: আমি কীভাবে কোক প্রুফ সহকারীটির অন্তর্নিহিত তত্ত্বটি শিখব?

  3. ΠΣ, অন্যদের মধ্যে. এবং অবশ্যই অ্যাডাম চ্লিপালার বই আছে, যা মার্ক হামানের উত্তরে দেওয়া আছে।

আমি প্রোগ্রামিং দিয়ে শুরু করার প্রবণতা অর্জন করবো, প্রমানটি প্রমাণীকরণ ব্যবহার করার আগে, তারপরে আরও তাত্ত্বিক সমস্যাগুলি অন্বেষণ করা শুরু করব।


আমি এপিগ্রামের জন্য কাগজপত্রগুলি খুঁজে পেতে পারি, তবে আমি এপিগ্রামের জন্য একটি আসল ডাউনলোড খুঁজে পাচ্ছি না, কেবলমাত্র অসম্পূর্ণ এপিগ্রাম ২. কোনও ধারণা?
জন সালভাটিয়ার

1
আপনি কি পেয়েছেন : e-pig.org/darcs/Pig09/web ? পৃষ্ঠার নীচে এপিগ্রাম পাওয়া যায়।
ডেভ ক্লার্ক

3
এপিগ্রাম 1 মূলত আফ্রিএইচ-র থেকেই অবিস্মরণীয় - লেখক এই দিনগুলিতে আগদা ব্যবহার করেছেন (এপিগ্রাম 2 তে পাশাপাশি কাজ করার সময়)।
ব্লেজারব্ল্যাড

2019-এ, আমি মনে করি না এপিগ্রাম 2 কখনও ঘটতে চলেছে - তবে ইদ্রিস (এবং ইদ্রিস 2!) এখন আছে।
xrq

14

λπ

দ্বাদশটি এলএফ-এর ভিত্তিতে একটি ভাল উপপাদ্য-প্রমাণকারী সিস্টেম system ফ্র্যাঙ্ক ফেনিং দ্বারা প্রদত্ত উন্নত কোর্সের নোটগুলি সন্ধান করা এলএফের তত্ত্ব এবং অনুশীলনের একটি ভাল ভূমিকা।

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


10

কোসি সম্ভবত যাওয়ার উপায়। মধ্যে শুধু ডুব Coq মত একটা চমৎকার টিউটোরিয়াল মাধ্যমে কাজ সফটওয়্যার ফাউন্ডেশন (যা TaPL এবং ATTaPL এর পিয়ার্স সাথে জড়িত আছেন)।

নির্ভরশীল টাইপিংয়ের ব্যবহারিক দিকগুলির জন্য আপনি যদি একবার অনুভূতি পান, তাত্ত্বিক উত্সগুলিতে ফিরে যান: তারা তখন আরও অনেক কিছু জানাবে।

আপনার বৈশিষ্ট্যগুলির তালিকাটি মূলত সঠিক বলে মনে হচ্ছে তবে তারা অনুশীলনে কীভাবে খেলবে তা এক হাজার বৈশিষ্ট্যের পয়েন্টের জন্য মূল্যবান।

(আরেকটি, সামান্য আরও উন্নত টিউটোরিয়াল হ'ল অ্যাডাম চ্লিপালার নির্ভরযোগ্য প্রকারের সাথে প্রত্যয়িত প্রোগ্রামিং )


"স্বজ্ঞাত" এখানে স্টিকিং পয়েন্ট হতে পারে: কেবল নির্ভরশীল টাইপিংয়ের চেয়েও অনেক বেশি সিএনসি / সিআইসি-তে অন্তর্নিহিত বিমান চলছে। এটি একটি দুর্দান্ত চূড়ান্ত লক্ষ্য - আমার মতে পছন্দটি সত্যই কক এবং দ্বাদশয়ের মধ্যে রয়েছে তবে "নির্ভরশীল টাইপিংয়ের উপর সত্যই দৃ gra় উপলব্ধি অর্জনের" পক্ষে এটি সম্ভবত প্রথম পদক্ষেপ নয়।
চার্লস স্টুয়ার্ট

@ চার্লস: আপনার পয়েন্টটি নেওয়া হয়েছে। আমি এখনও ব্যবহারিক দৃষ্টিকোণ থেকে এটি একটি ভাল বাজি মনে করি। যদিও সিসি / সিআইসির সম্পূর্ণ উপলব্ধি আরও জটিল উদ্যোগ হতে পারে তবে কোক (আরও ভাল বেসিক স্তরের টিউটোরিয়ালগুলির অস্তিত্ব) কেবল প্রোগ্রামিংয়ের দিকগুলি বা কেবলমাত্র প্রাথমিক প্রমাণ-সহায়ক বিষয়গুলি শেখার উপর ফোকাস করা সহজ করে তোলে (হিসাবে আপনার আগ্রহগুলি নির্ধারণ করে) আপনি সমস্ত জটিলতা উপলব্ধি করার আগেও। আমি মনে করি তাত্ত্বিক পটভূমি থেকে কেউ না আসার জন্য এটি "স্বজ্ঞাত" হিসাবে যোগ্যতা অর্জন করেছে।
মার্ক হামান


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