برنتی / می‌نویسم که فکر کنم

مفهوم point-free و Equational Reasoning چیست؟

1401.02.15·Functional Programming

روش point-free

point-free روشی مرسوم بین توسعه‌دهندگان فانکشنال است که توابع را با استفاده از ترکیبی از توابع دیگر بسازند و هرگز اشاره‌ای به ورودی‌های آن توابع نکنند.

Equational Reasoning روشی است که با آن می‌توان استدلال کرد که دو عبارت معادل یکدیگر و قابل تعویض هستند که از این طریق هم می‌توان مانند زیر یک قطعه کد را به سبک point-free تبدیل کرد.

تابع زیر point-free نمی‌باشد زیرا به آرگمان person اشاره می‌کند.

getPerson(function onPerson(person){
	return renderPerson(person);
});

با استدلال برابری قطعه کد زیر که معادل با قطعه کد بالا (Equational Reasoning) و حذف person، تابع زیر به حالت point-free تبدیل شده‌است.

getPerson(renderPerson);
§ فهرست « Functional Programming »
  1. 1401.02.16تفاوت اجرای Lazy و Eagerمقایسه‌ی اجرای Lazy و Eager
  2. 1401.02.15مفهوم point-free و Equational Reasoning چیست؟
  3. 1401.02.15آداپتور flip و reverse و spreadArgs
  4. 1401.02.15آداپتورها
  5. 1401.02.15تابع unary و binary و ternary و n-ary چیست؟
  6. 1399.07.01برنامه‌نویسی فانکشنال در جاوااسکریپت - قسمت ۲"در این مطلب به شرح مفاهیم پایه برنامه نویسی فانکشنال بصورت خلاصه می‌پردازیم.
  7. 1399.06.18برنامه‌نویسی فانکشنال در جاوااسکریپت - قسمت ۱ Pure Functionsیک تابع Pure تابعی است که به ازای هر ورودی یکسان یک خروجی برگرداند و side effects یا اثرات جانبی هم نداشته باشد.