আমি আমার প্রোগ্রামিং জীবনে তুলনামূলকভাবে দেরী করে কারি-হাওয়ার্ড আইসোমর্ফিবাদ নিয়ে এসেছি এবং সম্ভবত এটি আমার এতে মুগ্ধ হওয়ার ক্ষেত্রে অবদান রাখে। এটি বোঝায় যে প্রতিটি প্রোগ্রামিং ধারণার জন্য ফর্মাল লজিকের একটি সুনির্দিষ্ট এনালগ থাকে এবং বিপরীতে। এই জাতীয় উপমাগুলির একটি "বেসিক" তালিকাটি এখানে আমার মাথার উপরের অংশে রয়েছে:
program/definition | proof
type/declaration | proposition
inhabited type | theorem/lemma
function | implication
function argument | hypothesis/antecedent
function result | conclusion/consequent
function application | modus ponens
recursion | induction
identity function | tautology
non-terminating function | absurdity/contradiction
tuple | conjunction (and)
disjoint union | disjunction (or) -- corrected by Antal S-Z
parametric polymorphism | universal quantification
সুতরাং, আমার প্রশ্নের কাছে: এই আইসোমরফিজমের আরও কিছু আকর্ষণীয় / অস্পষ্ট প্রভাবগুলি কী কী? আমি কোনও লজিস্টিয়ান না তাই আমি নিশ্চিত যে আমি কেবল এই তালিকার সাথে পৃষ্ঠটি স্ক্র্যাচ করেছি।
উদাহরণস্বরূপ, এখানে কিছু প্রোগ্রামিং ধারণা রয়েছে যার জন্য আমি যুক্তিতে পিত্তির নামগুলি সম্পর্কে অবগত নই:
currying | "((a & b) => c) iff (a => (b => c))"
scope | "known theory + hypotheses"
এবং এখানে কিছু যৌক্তিক ধারণা দেওয়া আছে যা আমি প্রোগ্রামিংয়ের ক্ষেত্রে যথেষ্ট পিন করি নি:
primitive type? | axiom
set of valid programs? | theory
সম্পাদনা করুন:
প্রতিক্রিয়া থেকে সংগ্রহ করা আরও কিছু সমতা এখানে:
function composition | syllogism -- from Apocalisp
continuation-passing | double negation -- from camccann