Pattern calculus
پیٹرن کیلکولس تمام حساب کو ایک بہت ہی عام قسم کے پیٹرن کے ملاپ پر مبنی کرتا ہے۔ لیمبڈا کیلکولس کی طرح، یہ فنکشن کی تشخیص کے یکساں علاج کی حمایت کرتا ہے۔ نیز، یہ افعال کو دلائل کے طور پر پاس کرنے اور نتائج کے طور پر واپس کرنے کی اجازت دیتا ہے۔ اس کے علاوہ، پیٹرن کیلکولس دلائل کے اندرونی ڈھانچے تک یکساں رسائی کی حمایت کرتا ہے، چاہے وہ جوڑے ہوں یا فہرستیں یا درخت۔ نیز، یہ نمونوں کو دلائل کے طور پر منظور کرنے اور نتائج کے طور پر واپس کرنے کی اجازت دیتا ہے۔ یکساں رسائی کو پیٹرن سے ملنے والے فنکشن کے ذریعے واضح کیا جاتا ہے جو صوابدیدی ڈیٹا ڈھانچے کے سائز کا حساب لگاتا ہے۔ پروگرامنگ زبان بانڈی کے اشارے میں، یہ تکراری فنکشن کے ذریعہ دیا جاتا ہے کہ ریک سائز = | x y-> (سائز x) + (سائز y) | x-> 1 دوسرا، یا ڈیفالٹ کیس دلیل اور واپسی کے خلاف پیٹرن سے میل کھاتا ہے۔ یہ کیس صرف اس صورت میں استعمال کیا جاتا ہے جب میچنگ پہلی صورت میں ناکام ہو جائے۔ پہلا، یا خصوصی کیس کسی بھی کمپاؤنڈ سے میل کھاتا ہے، جیسے کہ غیر خالی فہرست، یا جوڑی۔ ملاپ بائیں جزو اور دائیں جزو سے جڑا ہوتا ہے۔ پھر کیس کا باڈی ان اجزاء کے سائز کو ایک ساتھ جوڑتا ہے۔ اسی طرح کی تکنیکیں تلاش کرنے اور اپ ڈیٹ کرنے کے لیے عام سوالات پیدا کرتی ہیں۔ اس طرح سے تکرار اور سڑنے کو یکجا کرنے سے پاتھ پولیمرفزم پیدا ہوتا ہے۔ نمونوں کو پیرامیٹرز (پیٹرن پولیمورفزم) کے طور پر منتقل کرنے کی صلاحیت کو عام ایلیمینیٹر کی وضاحت کے ذریعے واضح کیا جاتا ہے۔ فرض کریں کہ کسی درخت کے پتے بنانے اور نمبروں کو کاؤنٹر میں تبدیل کرنے کے لیے کنسٹرکٹر دیے گئے ہیں۔ اس کے بعد متعلقہ ایلیمینیٹرز کو خارج کر دیا جاتا ہے۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔۔ یہ مثالیں زیر بحث کنسٹرکٹرز پر عام ایلیمینیٹر لگا کر تیار کی جا سکتی ہیں۔ اس کی تعریف ایلیم = | x-> | {y} x y-> y سے کی جاتی ہے۔ اب اس کا اندازہ | {y} لیف y-> y سے ہوتا ہے جو اس کے مساوی ہے۔ اس کے برابر بھی ہے۔ عام طور پر، گھوبگھرالی قوسین میں پیٹرن کے باؤنڈ متغیرات ہوتے ہیں، لہذا یہ آزاد ہوتا ہے اور | {y} x y-> y میں باؤنڈ ہوتا ہے۔ بیرونی لنکس نیچے دیے گئے لنکس کا آرکائیو آئینہ (جو اب آن لائن نہیں ہیں)-اصل کاغذ، لیکن زیادہ تر عام نہیں۔ بونڈی پروگرامنگ زبان کی تحقیقی سائٹ لیمبڈا کیلکولس