۱ - ۱۳تعاریف
۱.
لاندا یا lambda در جبر لاندا حرف یونانی λ ِه که برای معرفی، یا تجرید ِ پارامترها و انقیاد ِ اونها در یک بیانیه استفاده میشه.
۲.
یک تجرید یا abstraction ِلاندا، یک تابع بینام یا جملهی لاندا هست: (λx․x + ۱). سر بیانیه (λx․)، جملهی x + ۱ رو جامع یا تجرید میکنه. به هر x ی میشه اعمالش کرد و برای هر x که لاندا رو بهش اعمال کردیم، جواب متفاوتی رو حساب کنیم.
۳.
اعمال کردن یا application مرحلهی اصلیِ محاسبهی لانداهاست. این کار آرگومان رو با پارامترِ مقیّد ِ لاندا جایگزین میکنه، و تا زمانی که آرگومانی برای اعمالِ لانداها وجود داشته باشه محاسبات هم ادامه پیدا میکنن. به عنوانِ مثال، جملهی (λx․x) ۱ به ۱ ساده میشه. تابعِ همانی ِ λx․x به مقدارِ ۱ اعمال میشه، x با ۱ جایگزین میشه، و بدنهی لاندا هم فقط x ه، پس خودِ ۱ رو برمیگردونه.
۴.
جبر لاندا یا lambda calculus یک سیستم رسمی برای بیان برنامهها به کمک تجریدها و اعمال اونهاست.
۵.
ترتیب معمولی یا normal order یک روشِ رایجِ محاسبات در جبر لاندا هست. ترتیب معمولی یعنی اول محاسبه (سادهسازی بتا) ِ چپترین و بیرونیترین لاندا، و بعد از تموم شدن آرگومانها، محاسبهی لانداهای لایههای زیری. خوبه که بدونین ترتیب معمولی روش محاسبهی کد هسکل نیست. هسکل فراخوان-با-نیاز محاسبه میکنه؛ یعنی هر وقت لازم شد یه محاسبه رو انجام میده. این روشِ محاسبه رو بعداً بیشتر بررسی میکنیم. جواب تمرینها به ترتیبِ معمولی نوشته شدن.