Una persona su Reddit ha portato questo codice alla mia attenzione:(emulato) Macro in Haskell?
main = do
let ns = [print 1, print 2, print 3]
sequence_ ns
sequence_ $ reverse ns
sequence_ $ tail ns ++ [head ns]
head ns
Che cosa sta succedendo qui è che abbiamo una serie di operazioni che possiamo fare cose con, come inversa o ottenere la coda o la testa.
Impressionante.
Quello che voglio fare è entrare nei singoli elementi e cambiarli per sempre. Per esempio, io voglio essere in grado di fare qualcosa del genere:
ns !! 0
e ottenere qualcosa di simile [stampa, 1] e poi cambiare ultimo elemento, per esempio, 3.14 in modo che la funzione sarebbe stampare 3.14.
È possibile a Haskell o dovrei semplicemente tornare a LISP?
UN MODIFICO IMPORTANTE: ho una specie di errore. Capisco che avrò bisogno di creare una nuova lista. È possibile ottenere gli argomenti di una funzione, che è una parte di una lista? Quello che voglio è la capacità di comporre funzioni dai loro identificatori/argomenti e anche essere in grado di suddividere una funzione in identificatore/argomento prima che venga valutata.
btw: a cosa serve davvero? – yairchu