Pomysł jest inspirowany faktem, że operatory takie jak +, -,% itd. Mogą być postrzegane jako funkcje z przekazanym jednym lub dwoma argumentami i bez efektów ubocznych. Zakładając, że ja lub ktoś inny pisze język, który zatrzymuje przekazywanie więcej niż dwóch argumentów, a także działa tylko poprzez wartość zwracaną:
a) czy taki język prowadziłby do łatwiejszego do zrozumienia kodu?
b) czy przepływ kodu byłby jaśniejszy? (zmuszony do większej liczby kroków, potencjalnie mniej interakcji „ukrytych”
c) czy ograniczenia sprawiłyby, że język byłby wyjątkowo nieporęczny w przypadku bardziej złożonych programów.
d) (premia) wszelkie inne komentarze na temat zalet / wad
Uwaga:
Trzeba by jeszcze podjąć dwie decyzje - pierwsza dotyczy tego, czy zezwolić na wprowadzanie danych przez użytkownika poza main () lub jego odpowiednikiem, a także jaka będzie reguła dotycząca tego, co dzieje się przy przekazywaniu tablic / struktur. Na przykład, jeśli ktoś chce, aby jedna funkcja dodawała wiele wartości, mógłby obejść to ograniczenie, łącząc je w tablicę. Można to zatrzymać, uniemożliwiając interakcję tablicy lub struktury z samym sobą, co nadal pozwala na przykład na dzielenie każdej liczby przez inną liczbę, w zależności od jej pozycji.
result = f(a)(b)…(z)
. Dotyczy to rodziny języków ML, takich jak Haskell, ale także koncepcyjnie w innych językach, takich jak Lisp, JavaScript lub Perl.