ল্যাম্বডা ক্যালকুলাস: উপপাদ্য, বৈশিষ্ট্য, উদাহরণের বর্ণনা

সুচিপত্র:

ল্যাম্বডা ক্যালকুলাস: উপপাদ্য, বৈশিষ্ট্য, উদাহরণের বর্ণনা
ল্যাম্বডা ক্যালকুলাস: উপপাদ্য, বৈশিষ্ট্য, উদাহরণের বর্ণনা
Anonim

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

এই সিস্টেমে ল্যাম্বডা সদস্যদের তৈরি করা এবং তাদের উপর রিডাকশন অপারেশন করা।

ব্যাখ্যা এবং আবেদন

ল্যাম্বডা ক্যালকুলাস সমাধান
ল্যাম্বডা ক্যালকুলাস সমাধান

গ্রীক অক্ষর ল্যাম্বদা (λ) ল্যাম্বডা এক্সপ্রেশন এবং ল্যাম্বডা পদে ব্যবহার করা হয় একটি ফাংশনে ভেরিয়েবলের বাঁধাই বোঝাতে।

ল্যাম্বডা ক্যালকুলাস আনটাইপ বা টাইপ করা যেতে পারে। প্রথম ভেরিয়েন্টে, ফাংশনগুলি শুধুমাত্র তখনই ব্যবহার করা যেতে পারে যদি তারা এই ধরনের ডেটা গ্রহণ করতে সক্ষম হয়। টাইপ করা ল্যাম্বডা ক্যালকুলি দুর্বল, একটি ছোট মান প্রকাশ করতে পারে। কিন্তু, অন্যদিকে, তারা আপনাকে আরও কিছু প্রমাণ করার অনুমতি দেয়৷

এত বিভিন্ন প্রকারের একটি কারণ হল শক্তিশালী ল্যাম্বডা ক্যালকুলাস উপপাদ্য প্রমাণ করার সুযোগ না দিয়ে বিজ্ঞানীদের আরও কিছু করার ইচ্ছা৷

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

ডামিদের জন্য

লম্বডা ক্যালকুলাসটি 1930-এর দশকে গণিতবিদ অ্যালোঞ্জো চার্চ বিজ্ঞানের ভিত্তি সম্পর্কে তাঁর গবেষণার অংশ হিসাবে প্রবর্তন করেছিলেন। 1935 সালে যখন স্টিফেন ক্লিন এবং জে.বি. রোসার ক্লিন-রসার প্যারাডক্স তৈরি করেছিলেন তখন মূল সিস্টেমটি যৌক্তিকভাবে অসঙ্গতিপূর্ণ বলে দেখানো হয়েছিল।

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

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

প্রতীকের উৎপত্তি

ল্যাম্বডা ক্যালকুলাস
ল্যাম্বডা ক্যালকুলাস

Lambda একটি শব্দ বা সংক্ষিপ্ত রূপের জন্য দাঁড়ায় না, এটি রাসেলের প্রধান গণিতের একটি রেফারেন্স থেকে এসেছে যার পরে দুটি টাইপোগ্রাফিক পরিবর্তন হয়েছে। স্বরলিপি উদাহরণ: একটি ফাংশন f এর জন্য f (y)=2y + 1 হল 2ŷ + 1। এবং এখানে আমরা ইনপুট ভেরিয়েবলকে লেবেল করতে y এর উপরে একটি ক্যারেট ("হ্যাট") ব্যবহার করি।

গির্জাটি মূলত অনুরূপ চিহ্ন ব্যবহার করার উদ্দেশ্যে ছিল, কিন্তু টাইপসেটাররা অক্ষরের উপরে "হ্যাট" চিহ্ন স্থাপন করতে পারেনি। সুতরাং পরিবর্তে তারা এটিকে মূলত "/\y.2y+1" হিসাবে মুদ্রণ করেছে। সম্পাদনার পরবর্তী পর্বে, টাইপিস্টরা "/ \"কে একটি দৃশ্যমান অনুরূপ অক্ষর দিয়ে প্রতিস্থাপন করেছে।

ল্যাম্বডা ক্যালকুলাসের ভূমিকা

সমাধান উদাহরণ
সমাধান উদাহরণ

এই সিস্টেমটি পদগুলির একটি ভাষা নিয়ে গঠিত, যা একটি নির্দিষ্ট আনুষ্ঠানিক সিনট্যাক্স দ্বারা নির্বাচিত হয় এবং রূপান্তরের নিয়মগুলির একটি সেট যা তাদের পরিচালনা করার অনুমতি দেয়। শেষ বিন্দুটিকে একটি সমীকরণ তত্ত্ব বা অপারেশনাল সংজ্ঞা হিসাবে বিবেচনা করা যেতে পারে৷

ল্যাম্বডা ক্যালকুলাসের সমস্ত ফাংশন বেনামী, মানে তাদের নাম নেই। তারা শুধুমাত্র একটি ইনপুট ভেরিয়েবল নেয়, এবং একাধিক ভেরিয়েবল সহ প্লট বাস্তবায়ন করতে কারিইং ব্যবহার করা হয়।

ল্যাম্বডা পদ

ক্যালকুলাস সিনট্যাক্স কিছু এক্সপ্রেশনকে বৈধ এবং অন্যগুলোকে অবৈধ হিসেবে সংজ্ঞায়িত করে। ঠিক যেমন অক্ষরের বিভিন্ন স্ট্রিং বৈধ সি প্রোগ্রাম এবং কিছু নয়। ল্যাম্বডা ক্যালকুলাসের প্রকৃত অভিব্যক্তিকে "ল্যাম্বডা শব্দ" বলা হয়।

নিম্নলিখিত তিনটি নিয়ম একটি প্রবর্তক সংজ্ঞা প্রদান করে যা হতে পারেসমস্ত সিনট্যাক্টিক্যালি বৈধ ধারণার নির্মাণে প্রয়োগ করুন:

x ভেরিয়েবল নিজেই একটি বৈধ ল্যাম্বডা শব্দ:

  • যদি T LT হয় এবং x অ-স্থির হয়, তাহলে (lambda xt) কে বিমূর্ততা বলা হয়।
  • যদি T এবং s ধারণা হয়, তাহলে (TS) কে একটি অ্যাপ্লিকেশন বলা হয়।

আর কিছুই ল্যাম্বডা শব্দ নয়। সুতরাং, একটি ধারণা বৈধ হয় যদি এবং শুধুমাত্র যদি এটি এই তিনটি নিয়মের বারবার প্রয়োগের মাধ্যমে প্রাপ্ত করা যায়। তবে, কিছু বন্ধনী অন্যান্য মানদণ্ড অনুযায়ী বাদ দেওয়া যেতে পারে।

সংজ্ঞা

ল্যাম্বডা ক্যালকুলাস উদাহরণ
ল্যাম্বডা ক্যালকুলাস উদাহরণ

ল্যাম্বডা এক্সপ্রেশনগুলি নিয়ে গঠিত:

  • ভেরিয়েবল v 1, v 2, …, v n, …
  • বিমূর্তকরণের প্রতীক 'λ' এবং বিন্দু '।'
  • বন্ধনী ().

সেট Λকে প্রবর্তকভাবে সংজ্ঞায়িত করা যেতে পারে:

  • যদি x একটি পরিবর্তনশীল হয়, তাহলে x ∈ Λ;
  • x ধ্রুবক নয় এবং M ∈ Λ, তারপর (λx. M) ∈ Λ;
  • M, N ∈ Λ, তারপর (MN) ∈ Λ.

পদবী

ল্যাম্বডা অভিব্যক্তির স্বরলিপি অগোছালো রাখতে, নিম্নলিখিত নিয়মগুলি সাধারণত ব্যবহার করা হয়:

  • বাইরের বন্ধনী বাদ দেওয়া হয়েছে: (MN) এর পরিবর্তে MN।
  • আবেদনগুলি সহযোগী থাকবে বলে ধরে নেওয়া হয়: কেউ ((MN)P এর পরিবর্তে MNP লিখতে পারেন)।
  • অ্যাবস্ট্রাকশনের বডি ডানদিকে আরও প্রসারিত: λx. MN মানে λx। (MN), নয় (λx. M) N.
  • বিমূর্তকরণের ক্রম হ্রাস করা হয়েছে: λx.λy.λz. N হতে পারে λxyz. N.

মুক্ত এবং আবদ্ধ ভেরিয়েবল

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

উদাহরণস্বরূপ, λ y অভিব্যক্তিতে। x x y, y - আবদ্ধ অ-স্থায়ী, এবং x - বিনামূল্যে। এবং এটাও লক্ষণীয় যে ভেরিয়েবলটি তার "নিকটতম" বিমূর্ততা দ্বারা গোষ্ঠীবদ্ধ। নিম্নলিখিত উদাহরণে, ল্যাম্বডা ক্যালকুলাস দ্রবণটি x এর একটি একক সংঘটন দ্বারা উপস্থাপিত হয়, যা দ্বিতীয় পদের সাথে সম্পর্কিত:

λ x। y (λ x. z x)

মুক্ত ভেরিয়েবলের সেট M কে FV (M) হিসাবে চিহ্নিত করা হয় এবং নিম্নরূপ পদের কাঠামোর উপর পুনরাবৃত্তি দ্বারা সংজ্ঞায়িত করা হয়:

  • FV (x)={x}, যেখানে x একটি পরিবর্তনশীল।
  • FV (λx. M)=FV (M) {x}.
  • FV (MN)=FV (M) ∪ FV (N).

একটি সূত্র যাতে মুক্ত ভেরিয়েবল থাকে না তাকে বন্ধ বলা হয়। ক্লোজড ল্যাম্বডা এক্সপ্রেশনগুলি কম্বিনেটর হিসাবেও পরিচিত এবং সমন্বিত যুক্তিতে পদগুলির সমতুল্য৷

সংক্ষেপণ

ল্যাম্বডা এক্সপ্রেশনের অর্থ নির্ধারণ করা হয় কীভাবে সেগুলিকে ছোট করা যায়৷

তিন ধরনের কাট আছে:

  • α-রূপান্তর: আবদ্ধ ভেরিয়েবল (আলফা) পরিবর্তন করা।
  • β-হ্রাস: তাদের আর্গুমেন্টে (বিটা) ফাংশন প্রয়োগ করা।
  • η-রূপান্তর: প্রসারিততার ধারণাকে কভার করে৷

এটাও আছেআমরা ফলাফলের সমতা সম্পর্কে কথা বলছি: দুটি অভিব্যক্তি β-সমতুল্য যদি সেগুলিকে একই উপাদানে β-রূপান্তরিত করা যায়, এবং α / η-সমতা একইভাবে সংজ্ঞায়িত করা হয়৷

রিডেক্স শব্দটি, হ্রাসযোগ্য টার্নওভারের জন্য সংক্ষিপ্ত, উপ-বিষয়গুলিকে বোঝায় যেগুলি নিয়মগুলির একটি দ্বারা হ্রাস করা যেতে পারে৷ ডামিদের জন্য ল্যাম্বডা ক্যালকুলাস, উদাহরণ:

(λ x. M) N হল একটি বিটা রিডেক্স এক্সপ্রেশনে N-এর পরিবর্তে M-এ x। যে উপাদানটি একটি রেডেক্স হ্রাস করে তাকে এর হ্রাস বলে। হ্রাস (λ x. M) N হল M [x:=N]।

যদি x M-এ মুক্ত না হয়, λ x। নিয়ন্ত্রক M. সহ M x এছাড়াও em-REDEX

α-রূপান্তর

আলফা পুনঃনাম আপনাকে আবদ্ধ ভেরিয়েবলের নাম পরিবর্তন করতে দেয়। উদাহরণস্বরূপ, x. x λ y দিতে পারে। y শুধুমাত্র আলফা ট্রান্সফরমেশনের মধ্যে যে পরিভাষাগুলি ভিন্ন হয় তাকে α-সমতুল্য বলা হয়। প্রায়শই, ল্যাম্বডা ক্যালকুলাস ব্যবহার করার সময়, α-সমতুল্যকে পারস্পরিক বিবেচনা করা হয়।

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

দ্বিতীয়ত, একটি আলফা রূপান্তর সম্ভব নয় যদি এটি একটি অস্থায়ী অন্যান্য বিমূর্ততা দ্বারা ক্যাপচার করা হয়। উদাহরণস্বরূপ, যদি আপনি λ x.λ y-এ y দিয়ে x প্রতিস্থাপন করেন। x, তাহলে আপনি পেতে পারেনλy.λy u, যা মোটেও এক নয়।

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

D Bruyne সূচক স্বরলিপিতে, যেকোন দুটি আলফা-সমতুল্য পদ সিনট্যাক্টিকভাবে অভিন্ন।

প্রতিস্থাপন

E নিম্নরূপ ধারণা কাঠামোর উপর ক্যালকুলাস (দ্রষ্টব্য: x এবং y - শুধুমাত্র ভেরিয়েবল, এবং M এবং N - যেকোনো λ-প্রকাশ)।

x [x:=N] ≡ N

y [x:=N] ≡ y যদি x ≠ y

(M 1 M 2) [x:=N] ≡ (M 1 [x:=N]) (M 2 [x:=N])

(λ x. M) [x:=N] ≡ λ x. M

(λ y. M) [x:=N] y λ y। (M [x:=N]) যদি x ≠ y, তবে শর্ত থাকে যে y ∉ FV (N)।

একটি ল্যাম্বডা বিমূর্তকরণে প্রতিস্থাপনের জন্য, কখনও কখনও একটি অভিব্যক্তিকে α-রূপান্তর করা প্রয়োজন। উদাহরণস্বরূপ, এটা সত্য নয় যে (λ x. Y) [y:=x] ফলাফলে (λ x. X) কারণ প্রতিস্থাপিত x মুক্ত হওয়া উচিত ছিল, কিন্তু শেষ পর্যন্ত আবদ্ধ। এই ক্ষেত্রে সঠিক প্রতিস্থাপন হল (λ z. X) α-সমতুল্য পর্যন্ত। মনে রাখবেন প্রতিস্থাপন অনন্যভাবে ল্যাম্বডা পর্যন্ত সংজ্ঞায়িত করা হয়েছে।

β-হ্রাস

বিটা হ্রাস একটি ফাংশন প্রয়োগ করার ধারণা প্রতিফলিত করে। বিটা-রিডাক্টিভ পদে সংজ্ঞায়িত করা হয়প্রতিস্থাপন: ((X V. E) E ') হল E [V:=E']।

উদাহরণস্বরূপ, কিছু এনকোডিং 2, 7, × ধরে নিলে, নিম্নলিখিত β-হ্রাস রয়েছে: ((λ n. N × 2) 7) → 7 × 2.

বিটা হ্রাসকে কারি-হাওয়ার্ড আইসোমরফিজমের মাধ্যমে প্রাকৃতিক কর্তনের অধীনে স্থানীয় হ্রাসযোগ্যতার ধারণার মতোই দেখা যেতে পারে।

η-রূপান্তর

ল্যাম্বডা টাস্ক উদাহরণ
ল্যাম্বডা টাস্ক উদাহরণ

এই রূপান্তরটি এক্সটেনশনালিটির ধারণা প্রকাশ করে, যা এই প্রসঙ্গে যে দুটি ফাংশন সমান হয় যখন তারা সমস্ত আর্গুমেন্টের জন্য একই ফলাফল দেয়। এই রূপান্তরটি λ x এর মধ্যে বিনিময় করে। (F x) এবং f যখনই x মুক্ত বলে মনে হয় না।

এই ক্রিয়াটিকে কারি-হাওয়ার্ড আইসোমরফিজমের মাধ্যমে প্রাকৃতিক বর্জনের স্থানীয় সম্পূর্ণতার ধারণার মতোই বিবেচনা করা যেতে পারে।

স্বাভাবিক ফর্ম এবং ফিউশন

একটি টাইপ না করা ল্যাম্বডা ক্যালকুলাসের জন্য, β-হ্রাস নিয়মটি সাধারণত শক্তিশালী বা দুর্বল স্বাভাবিকীকরণ নয়৷

তবুও, এটি দেখানো যেতে পারে যে α-রূপান্তরের আগে চলমান অবস্থায় β-হ্রাস একত্রিত হয় (অর্থাৎ, একটি থেকে অন্য α-রূপান্তর সম্ভব হলে দুটি স্বাভাবিক রূপকে সমান হিসাবে বিবেচনা করা যেতে পারে)।

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

অতিরিক্ত প্রোগ্রামিং পদ্ধতি

ল্যাম্বডা ধরনের সমাধান
ল্যাম্বডা ধরনের সমাধান

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

নামযুক্ত ধ্রুবক

ল্যাম্বডা ক্যালকুলাসে, একটি লাইব্রেরি পূর্বে সংজ্ঞায়িত ফাংশনগুলির একটি সেটের রূপ নেয়, যেখানে পদগুলি কেবলমাত্র কংক্রিট ধ্রুবক। বিশুদ্ধ ক্যালকুলাসের নাম অপরিবর্তনীয়ের কোন ধারণা নেই যেহেতু সমস্ত পারমাণবিক ল্যাম্বডা পদ পরিবর্তনশীল। কিন্তু তাদের নকল করা যেতে পারে মিউটেবলকে ধ্রুবকের নাম হিসাবে গ্রহণ করে, একটি ল্যাম্বডা বিমূর্ততা ব্যবহার করে শরীরের সেই উদ্বায়ীকে আবদ্ধ করার জন্য, এবং সেই বিমূর্ততাকে উদ্দেশ্যমূলক সংজ্ঞায় প্রয়োগ করে। সুতরাং আপনি যদি N তে M প্রতিনিধিত্ব করতে f ব্যবহার করেন তবে আপনি বলতে পারেন

(λ f. N) M.

লেখকরা প্রায়শই একটি সিনট্যাকটিক ধারণা প্রবর্তন করে যেমন জিনিসগুলিকে আরও স্বজ্ঞাত উপায়ে লেখার অনুমতি দেওয়া হয়৷

f=M থেকে N

এই ধরনের সংজ্ঞাগুলিকে শৃঙ্খলিত করে, কেউ একটি ল্যাম্বডা ক্যালকুলাস "প্রোগ্রাম" লিখতে পারে শূন্য বা তার বেশি ফাংশন সংজ্ঞা হিসাবে এবং একটি একক ল্যাম্বডা সদস্য অনুসরণ করে, সেই সংজ্ঞাগুলি ব্যবহার করে যা প্রোগ্রামের বেশিরভাগ অংশ তৈরি করে৷

এর একটি উল্লেখযোগ্য সীমাবদ্ধতা হল যে F নামটি M-তে সংজ্ঞায়িত করা হয়নি,যেহেতু M ল্যাম্বডা বিমূর্ততা f এর বাঁধাইয়ের সুযোগের বাইরে। এর মানে হল যে একটি রিকার্সিভ ফাংশন অ্যাট্রিবিউট লেটের সাথে M হিসাবে ব্যবহার করা যাবে না। আরও উন্নত লেট্রিক সিনট্যাক্স, যা আপনাকে এই শৈলীতে পুনরাবৃত্ত ফাংশন সংজ্ঞা লিখতে দেয়, অতিরিক্তভাবে এর পরিবর্তে ফিক্সড-পয়েন্ট কম্বিনেটর ব্যবহার করে।

মুদ্রিত অ্যানালগ

ল্যাম্বডা সমাধান
ল্যাম্বডা সমাধান

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

টাইপ করা LI হল প্রোগ্রামিং ভাষার ভিত্তি এবং ML এবং Haskell-এর মতো কার্যকরী ভাষার মেরুদণ্ড। এবং, আরও পরোক্ষভাবে, সৃষ্টির অপরিহার্য শৈলী। টাইপ করা ল্যাম্বডা ক্যালকুলি প্রোগ্রামিং ভাষার জন্য টাইপ সিস্টেমের বিকাশে গুরুত্বপূর্ণ ভূমিকা পালন করে। এখানে, টাইপবিলিটি সাধারণত প্রোগ্রামের পছন্দসই বৈশিষ্ট্যগুলি ক্যাপচার করে, উদাহরণস্বরূপ, এটি মেমরি অ্যাক্সেস লঙ্ঘনের কারণ হবে না৷

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

প্রস্তাবিত: