L'idea è ispirata dal fatto che operatori come +, -,%, ecc. Possono essere visti come funzioni con uno o due argomenti passati e senza effetti collaterali. Supponendo che io o qualcun altro scriva una lingua che interrompe il passaggio di più di due argomenti e funziona anche solo tramite il valore restituito:
a) un linguaggio del genere porterebbe a un codice più semplice da comprendere?
b) il flusso del codice sarebbe più chiaro? (forzato in più passaggi, con potenzialmente meno interazioni "nascoste"
c) le restrizioni renderebbero la lingua eccessivamente voluminosa per programmi più complessi.
d) (bonus) qualsiasi altro commento su pro / contro
Nota:
Dovrebbero ancora essere prese due decisioni: la prima è se consentire l'input dell'utente al di fuori di main () o suo equivalente, e anche quale sarà la regola riguardo a ciò che accade quando si passano array / strutture. Ad esempio, se qualcuno desidera che una singola funzione aggiunga più valori, potrebbe aggirare il limite raggruppandolo in un array. Ciò potrebbe essere interrotto impedendo a un array o a una struttura di interagire con se stesso, il che consentirebbe comunque, ad esempio, di dividere ciascun numero per un importo diverso, a seconda della sua posizione.
result = f(a)(b)…(z)
. Questo è il caso della famiglia di lingue ML come Haskell, ma anche concettualmente in altre lingue come Lisp, JavaScript o Perl.