Programming Computable Functions
کمپیوٹر سائنس میں، پروگرامنگ کمپیوٹیبل فنکشنز (پی سی ایف) ایک ٹائپ شدہ فنکشنل زبان ہے جسے گورڈن پلاٹکن نے 1977 میں متعارف کرایا تھا، جو ڈانا اسکاٹ کے پچھلے غیر شائع شدہ مواد پر مبنی ہے۔ اسے ٹائپ شدہ لیمبڈا کیلکولس کا توسیعی ورژن یا جدید ٹائپ شدہ فنکشنل زبانوں جیسے ایم ایل یا ہاسکل کا آسان ورژن سمجھا جا سکتا ہے۔ پی سی ایف کے لیے ایک مکمل تجریدی ماڈل سب سے پہلے رابن ملنر نے دیا تھا۔ تاہم، چونکہ ملنر کا ماڈل بنیادی طور پر پی سی ایف کے نحو پر مبنی تھا اس لیے اسے تسلی بخش سے کم سمجھا جاتا تھا۔ پہلے دو مکمل طور پر تجریدی ماڈل جو نحو کا استعمال نہیں کرتے تھے 1990 کی دہائی کے دوران وضع کیے گئے تھے۔ یہ ماڈل گیم سیمنٹکس اور کرپکے منطقی تعلقات پر مبنی ہیں۔ کچھ عرصے کے لیے یہ محسوس کیا گیا کہ ان میں سے کوئی بھی ماڈل مکمل طور پر تسلی بخش نہیں تھا، کیونکہ وہ مؤثر طریقے سے پیش کرنے کے قابل نہیں تھے۔ تاہم، رالف لوڈر نے مظاہرہ کیا کہ کوئی بھی مؤثر طریقے سے پیش کرنے کے قابل مکمل طور پر تجریدی ماڈل موجود نہیں ہو سکتا، کیونکہ پی سی ایف کے حتمی ٹکڑے میں پروگرام کے مساوات کا سوال فیصلہ کن نہیں ہے۔ نحو پی سی ایف کی اقسام کو انڈکٹو طور پر بیان کیا جاتا ہے کہ نیٹ ایک قسم ہے۔ اقسام σ اور τ کے لیے، ایک قسم σ ہے۔ ایک سیاق و سباق جوڑوں کی فہرست ہے x: σ، جہاں x ایک متغیر نام ہے اور σ ایک قسم ہے، جیسے کہ کوئی متغیر نام نقل نہیں ہوتا ہے۔ اس کے بعد مندرجہ ذیل نحو تعمیرات کے لیے معمول کے مطابق اصطلاحات میں سیاق و سباق کے ٹائپنگ فیصلوں کی وضاحت کی جاتی ہے: متغیرات (اگر x: σ ایک سیاق و سباق کا حصہ ہے، تو x: σ) اطلاق (قسم کی اصطلاح کا σ → τ قسم کی اصطلاح کے لیے) λ-خلاصہ Y فکسڈ پوائنٹ کمبینٹر (قسم کی شرائط سے باہر قسم σ کی اصطلاحات بنانا σ → σ) نٹ اور مستقل 0 پر جانشین (سک) اور پیشرو (پریڈ) آپریشن اگر ٹائپنگ کے اصول کے ساتھ مشروط ہے: (نٹس کی تشریح یہاں بولین کے طور پر کی جائے گی جس میں صفر جیسے کنونشن کے ساتھ سچائی کی نشاندہی ہوتی ہے، اور کوئی اور۔ اس ماڈل میں، اقسام کی تشریح مخصوص ڈومینز کے طور پر کی جاتی ہے۔ (نچلے عنصر کے ساتھ منسلک قدرتی اعداد، فلیٹ آرڈرنگ کے ساتھ) کی تشریح پوائنٹ وائز آرڈرنگ کے ساتھ، سے سے سکاٹ مسلسل افعال کے ڈومین کے طور پر کی جاتی ہے۔ سیاق و سباق کی تشریح اس طرح کی جاتی ہے کہ سیاق و سباق میں پروڈکٹ کی شرائط کی تشریح مسلسل افعال کے طور پر کی جاتی ہے متغیر اصطلاحات کی تشریح پروجیکشن لیمبڈا تجریدی کے طور پر کی جاتی ہے اور ایپلی کیشن کی تشریح ڈومینز کے زمرے کے کارٹیشین بند ڈھانچے کا استعمال کرکے کی جاتی ہے اور مسلسل افعال Y کی تشریح دلیل کا کم سے کم مقررہ نقطہ لے کر کی جاتی ہے۔ یہ ماڈل پی سی ایف کے لیے مکمل طور پر تجریدی نہیں ہے ؛ لیکن یہ پی سی ایف میں متوازی یا آپریٹر کو شامل کرکے حاصل کردہ زبان کے لیے مکمل طور پر تجریدی ہے۔ نوٹس حوالہ جات بیرونی لنکس کے طور پر ظاہر ہوا پی سی ایف کے لیے ریئل پی سی ایف لیکسر اور پارسر کا تعارف ایس ایم ایل پروگرامنگ زبانوں میں لکھا گیا جو 1977 میں تخلیق کیا گیا تھا تعلیمی پروگرامنگ زبانیں فنکشنل زبانیں پروگرامنگ زبان کا نظریہ