جبر لامبدا 01

قسمت 001 / جبر لامبدا

هر چی در مورد برنامه نویسی تابعی functional programming و جبر لامبدا سرچ کردم چیزی فارسی پیدا نکردم برای همین موقتا اینجا هر چیزی دارم یاد می گیرم رو می نویسم. تا ببینیم در آینده چه خواهد شد.

سعی می کنم اضافه گویی نداشته باشم و بعدا کامل و اصلاح شده اش رو یه جا قرار بدم.

هر جایی چیزی بلد نبودم یا برام سوال بود به شکل سوال می نویسم که بعدا جوابش رو اضافه کنم. اگر شما بلد هستید بگید ترجیحا با منبع.

تاریخچه: ریاضی دانی به نام آلونزو چرچ در سال 1930 این جبر رو معرفی می کنه که یه جورایی کوتاه ترین زبان برنامه نویسی دنیا هم محصوب می شه.

یک آیدنتیفایر Identifier داریم که بهش name هم می گیم. با حروف کوچیک انگلیسی نشون می دیم. a,b,c, الی آخر که همون متغیرهامون می شن.

یک اکسپرشن expression داریم که نماینده اون چیزی هست که قراره گفته بشه(الان می گیم)

و یک تابع داریم که با حرف لامبدا یونانی λ نشون می دیم که چطور تعریف می شه این تابع و ورودی هاش چی هستند.

  • < expression > := < name >|< function >|< application >
  • < function > := λ < name > . < expression >
  • < application > := < expression >< expression >

یک اکسپرشن یا یه تابع است یا یه اسمه یا ترکیبی از اکسپرشن ها که بهش اپلیکیشن هم می گن

یک تابع یک علامت لامبداست که یه تعداد اسم به عنوان ورودی می گیره بعد یه نقطه و بعد یک اکسپرشن. به این اکسپرشن بعد از اسم تابع بدنه تابع یا body می گیم.

با این ابزار به این سادگی می خوایم تمام توابع موجود رو تعریف کنیم.

کل Keyword های اختصاصی این برنامه که استفاده می شه خلاصه شده به نقطه . و λ لامبدا ولی برای سهل القرایت شدن متن پرانتز هم استفاده می شه.

لغات رزرو شده :
لامبدا λ ؛ نقطه . ؛ پرانتز باز ) ؛ پرانتز بسته (



ادامه دارد.


در ادامه با تعریف توابع و قراردادها و شناختن اعداد و اعمال ریاضی آشنا می شیم و بعد وارد زبان برنامه نویسی هسکل Haskell

با نمک: اول قرار بوده ^ بالای حروف برای تابع استفاده بشه که منشی آقای چرچ چون ماشین تایپش نداشته اسلش بک اسلش می زده \/ بعدا گفتن این علامت لامبدا یونانیه که به حروف کوچیک λ می شه.