(Disclaimer:. Sono un C# ragazzo ho appena iniziato ad imparare Clojure.)Generazione di codice in Clojure
Capisco che un programma Clojure ha la capacità di manipolare se stesso o facilmente generare altri programmi . Ha qualcosa a che fare con tutto ciò che in Clojure è una struttura dati e che generare programmi equivale a creare qualsiasi altro tipo di struttura dati.
Qualcuno ha un buon programma di esempio (o un riferimento a uno) che mostra questo?
Se si genera un programma , è possibile "serializzare" il programma su disco per l'esecuzione successiva?
Solo per riferimento:
che sto cercando di giocare con la programmazione genetica. Voglio generare un sacco di piccoli programmi, valutarli e usare quelli di successo per generare più programmi. Vedi di più here e here.
Penso che mi stia abusando dei termini qui. Per il programma Intendo effettivamente un elenco di clojure e per Generazione codice Intendo "Generazione elenco". Ho solo bisogno dell'elenco per contenere chiamate e parametri di funzione effettivi. Dovrei essere in grado di controllare quando questa lista viene "eseguita".
Questo è esattamente quello che sto cercando! Se capisco correttamente, ogni "programma" sarà una lista. Ho solo bisogno di un modo per "generare" quella lista con chiamate e parametri di funzione e quindi "eseguire" quella lista una volta che ho finito. Penso che ho solo bisogno di generare la lista preceduta da una citazione, in modo che la lista non sia "valutata". –
Esattamente. Dovresti leggere e capire questa pagina: http://clojure.org/reader – alphazero