দুর্ভাগ্যক্রমে "পোলারিটি" টাইপ তত্ত্বের কিছুটা ওভারলোডেড ধারণা। "পজিটিভ পজিশন" এবং "নেতিবাচক অবস্থান" হ'ল ফোকাস / পোলারাইজেশনের সাথে বব যে বিষয়ে কথা বলছেন তার চেয়ে আলাদা মেরুকরণের একটি ভিন্ন ধারণা বোঝায়।
আপনার অর্থ
যখন আপনি একটি প্ররোচক প্রকারটি সংজ্ঞায়িত করেন তখন আপনি একটি বিধিবিধানের একটি সিরিজ দেন যা আপনার সংজ্ঞায়িত টাইপের জন্য ক্রিয়াকলাপের সাথে মিলে যায়। উদাহরণস্বরূপ আপনি বলতে পারেন যে এর Natসাথে কিছু
- একটি মান
zero : Nat
- একটি অনুষ্ঠান
suc : Nat -> Nat
এবং তারপরে আশা করে যে Natএতে সমস্ত মান রয়েছে যা বারবার sucঅন্যান্য এসগুলিতে প্রয়োগ করা থেকে Natঅন্তর্ভুক্ত হতে পারে zero। এই প্ররোচনামূলক নির্মাণের সাথে সামঞ্জস্য রেখে আমরা একটি পুনরাবৃত্তি নীতিটি পাই Natযা Natএই নির্মাণকারীদের দ্বারা যে কোনও উত্পন্ন হয়েছে এই তথ্যের ভিত্তিতে কাজ করে ।
rec : A -> (A -> A) -> Nat -> A
যাতে
rec Z S zero = zero
rec Z S (suc n) = S (rec Z S n)
তবে নিয়ম হিসাবে আমরা কী লিখতে পারি সে সম্পর্কে কিছু বিধিনিষেধ রয়েছে। অন্যথায়, আমরা একাধিক নিয়ম লিখে রাখতে পারি যার জন্য পুনরাবৃত্তি নীতিটি ন্যায়সঙ্গত হতে পারে না। Dএকজন কনস্ট্রাক্টরের সাথে "ইনডাকটিভ টাইপ" বিবেচনা করুন
এখানে কোনও বুদ্ধিমান পুনরাবৃত্তি নীতি নেই। এবং সঙ্গত কারণে! আমাদের যদি কিছু পুনরাবৃত্তি নীতি থাকে, আমরা এটি স্ব প্রয়োগের একটি সংস্করণ এবং এর সাথে নিরবচ্ছিন্নকরণের এনকোড করতে ব্যবহার করতে পারি। এর অর্থ D"প্ররোচক" বলা যায় না কারণ প্রস্তাবনামূলক প্রকারগুলি বার বার প্রয়োগকারীদের দ্বারা নির্মিত সীমাবদ্ধ নির্মাণ!
এটি মোকাবেলা করার জন্য আমরা টাইপ থিওরিতে কীভাবে প্ররোচিত হতে পারে তা সীমাবদ্ধ করি। বিশেষত, আমরা তাদের "নেতিবাচক জায়গায়" উপস্থিত হওয়া থেকে বিরত করি। আপনি যে ধার্মিকতার কথা বলছিলেন তা এটি। একটি অবস্থানের polarity এইভাবে নির্ধারিত হয়,
- যুক্তিটি ইতিবাচক অবস্থানে শুরু হয়
- প্রতিবার আমরা বাম দিকে একটি তীর যাব, মেরুটি উল্টে যায়
তাই Xপ্রথম দুই এবং দ্বিতীয় দুই নেতিবাচক ইতিবাচক
X
Int -> X
X -> Int
(Unit -> X) -> Int
এই ধারণাটি ক্যাটাগরি তত্ত্বের আশ্রয় দিয়ে ন্যায়সঙ্গত যেখানে একটি প্রবর্তনীয় ধরণের যার একমাত্র পুনরাবৃত্তি ইতিবাচক হয় কোনও সমবায় ফান্টারের জন্ম দেয়। এটি কীভাবে কাজ করে এবং এর আকর্ষণীয় এএটি বেশ দীর্ঘ কেন তা বিশদ।
বব হার্পারের অর্থ
তার ব্লগপোস্টে হার্পার ধ্রুবতার এক অন্য অর্থ নিয়ে কথা বলছিলেন। এই পোলারিটি হ'ল যুক্তিতে বিভিন্ন সংযোজকগুলিকে কীভাবে অর্থ দেওয়া হয় তার উল্লেখ। বিশেষত, আমরা দুটি উপায়ে সংযোজকগুলিকে শ্রেণিবদ্ধ করতে পারি
- ইতিবাচক সংযোগগুলি কীভাবে তাদের পরিচয় করিয়ে দেওয়া যায় তা নির্ধারণ করে (তাদের প্রবর্তনের নিয়মগুলি)
- নেতিবাচক সংযোগগুলি কীভাবে সেগুলি ব্যবহার করবেন তা নির্ধারণ করে (তাদের নির্মূলের বিধিগুলি) সংজ্ঞায়িত করা যেতে পারে
প্রোগ্রামিং ভাষার পদগুলিতে, এটি অলস এবং কঠোর প্রকারের মধ্যে পার্থক্যটি ক্যাপচার করে। একটি কঠোর প্রকারটি এর মান দ্বারা সংজ্ঞায়িত হয়। একটি অলসটি কীভাবে তাদের সাথে প্যাটার্ন মেলাতে পারে তার দ্বারা সংজ্ঞায়িত করা হয়। এটি সঠিকভাবে পরিচালনা করার জন্য, আমরা 2 টি প্রধান নির্মাণ, ইতিবাচক প্রকারগুলি তৈরির উপায় এবং নেতিবাচক প্রকারগুলিকে পচে যাওয়ার জন্য "স্পাইনস" দিয়ে একটি ভাষা নির্ধারণ করি। আমরা কঠোর এবং অলস উভয়ই এক ভাষায় মিশ্রিত করতে এটি ব্যবহার করতে পারি।
এই ভালভাবে বুঝতে, আমি আপনি বব হারপার এর 38 অধ্যায় পড়ুন বই ।