Ідея натхненна тим фактом, що оператори, такі як +, -,% тощо, можуть розглядатися як функції з одним або двома переданими аргументами і без побічних ефектів. Якщо припустити, що я або хтось інший пише мову, яка зупиняє передачу більше двох аргументів, а також працює лише через зворотне значення:
а) чи призвела б така мова до легшого розуміння коду?
б) чи чіткіше буде потік коду? (змушений робити більше кроків, потенційно менше взаємодій "приховано"
в) чи зробили б обмеження мову незмінно об'ємною для складніших програм.
г) (бонус) будь-які інші коментарі щодо плюсів та мінусів
Примітка:
Ще потрібно прийняти два рішення - перше - чи дозволити введення користувачем зовні main () або його еквівалента, а також, яке правило буде щодо того, що відбувається при передачі масивів / структур. Наприклад, якщо хтось хоче, щоб одна функція додала кілька значень, він може обійти обмеження, зв’язавши його в масив. Це можна зупинити, не дозволяючи масиву чи структурі взаємодіяти між собою, що все одно дозволить вам, наприклад, розділити кожне число на різну суму, залежно від його позиції.
result = f(a)(b)…(z)
. Це стосується сімейства мов ML, таких як Haskell, але також концептуально іншими мовами, такими як Lisp, JavaScript або Perl.