Pattern calculus
প্যাটার্ন ক্যালকুলাস একটি খুব সাধারণ ধরনের প্যাটার্ন মিলনের উপর সমস্ত গণনার ভিত্তি করে। ল্যাম্বডা ক্যালকুলাসের মতো, এটি ফাংশন মূল্যায়নের একটি অভিন্ন প্রক্রিয়াকে সমর্থন করে। এছাড়াও, এটি ফাংশনগুলিকে আর্গুমেন্ট হিসাবে পাস করার অনুমতি দেয় এবং ফলাফল হিসাবে ফেরত দেয়। উপরন্তু, প্যাটার্ন ক্যালকুলাস আর্গুমেন্টের অভ্যন্তরীণ কাঠামোতে অভিন্ন প্রবেশাধিকারকে সমর্থন করে, তা সে জোড়া বা তালিকা বা গাছই হোক না কেন। এছাড়াও, এটি নিদর্শনগুলিকে যুক্তি হিসাবে পাস করার এবং ফলাফল হিসাবে ফেরত দেওয়ার অনুমতি দেয়। ইউনিফর্ম অ্যাক্সেস একটি প্যাটার্ন-ম্যাচিং ফাংশন দ্বারা চিত্রিত করা হয় যা একটি নির্বিচারে ডেটা কাঠামোর আকার গণনা করে। প্রোগ্রামিং ল্যাঙ্গুয়েজ বণ্ডির স্বরলিপিতে, এটি পুনরাবৃত্তিমূলক ফাংশন দ্বারা দেওয়া হয় যাক রিক সাইজ =। x y-> (সাইজ x) + (সাইজ y)। x-> 1 দ্বিতীয়, বা ডিফল্ট কেস যুক্তি এবং রিটার্নের বিরুদ্ধে প্যাটার্নের সাথে মেলে। এই কেসটি শুধুমাত্র তখনই ব্যবহার করা হয় যখন প্রথম ক্ষেত্রে ম্যাচটি ব্যর্থ হয়। প্রথম বা বিশেষ কেসটি যে কোনও যৌগের সাথে মেলে, যেমন একটি অ-খালি তালিকা বা জোড়া। ম্যাচিং বাম উপাদান এবং ডান উপাদানের সাথে আবদ্ধ হয়। তারপর কেসের মূল অংশটি এই উপাদানগুলির আকারগুলি একসাথে যোগ করে। অনুরূপ কৌশলগুলি অনুসন্ধান এবং আপডেট করার জন্য সাধারণ প্রশ্ন দেয়। এইভাবে পুনরাবৃত্তি এবং পচনের সংমিশ্রণ পাথ পলিমরফিজম উৎপন্ন করে। প্যাটার্নগুলিকে প্যারামিটার (প্যাটার্ন পলিমরফিজম) হিসাবে পাস করার ক্ষমতা একটি জেনেরিক এলিমিনেটরকে সংজ্ঞায়িত করে চিত্রিত করা হয়। ধরুন একটি গাছের পাতা তৈরি করার জন্য এবং সংখ্যাকে কাউন্টারে রূপান্তর করার জন্য কনস্ট্রাক্টর দেওয়া হয়েছে। সংশ্লিষ্ট এলিমিনেটরগুলি তারপর এলিমিনেট করা হয় লিফ =। লিফ ওয়াই-> ওয়াই এলিমিনেটকাউন্ট =। কাউন্ট ওয়াই-> ওয়াই উদাহরণস্বরূপ, যেমন করে মূল্যায়ন করে। এই উদাহরণগুলি কনস্ট্রাক্টরদের ক্ষেত্রে জেনেরিক এলিমিনেটর প্রয়োগ করে তৈরি করা যেতে পারে। এটি নির্মূল দ্বারা সংজ্ঞায়িত করা হয় =। x->। {y} x y-> y এখন। {y} লিফ y-> y এর মূল্যায়ন করে যা এর সমতুল্য। এটাও সমতুল্য। সাধারণভাবে, কোঁকড়া ধনুর্বন্ধনীতে প্যাটার্নের আবদ্ধ চলক থাকে, তাই এটি মুক্ত এবং। {y} x y-> y তে আবদ্ধ। বাহ্যিক লিঙ্ক আর্কাইভ নীচের লিঙ্কগুলির আয়না (যা আর অনলাইনে নেই)-মূল কাগজ, তবে সবচেয়ে সাধারণ নয়। বন্ডী প্রোগ্রামিং ভাষা গবেষণা সাইট ল্যাম্বডা ক্যালকুলাস