Clojure - REPL

REPL (read-eval-print loop) è uno strumento per sperimentare il codice Clojure. Ti consente di interagire con un programma in esecuzione e di provare rapidamente se le cose funzionano come dovrebbero. Lo fa presentandoti un prompt in cui puoi inserire il codice. Quindi legge il tuo input, lo valuta, stampa il risultato e ripete il ciclo, presentandoti di nuovo un prompt.

Questo processo consente un rapido ciclo di feedback che non è possibile nella maggior parte delle altre lingue.

Avvio di una sessione REPL

Una sessione REPL può essere avviata a Leiningen digitando il seguente comando nella riga di comando.

lein repl

Questo avvierà la seguente finestra REPL.

Quindi inizi a valutare i comandi Clojure nella finestra REPL come richiesto.

Per avviare una sessione REPL in Eclipse, fare clic sull'opzione Menu, andare su Esegui come → Applicazione Clojure.

Questo avvierà una nuova sessione REPL in una finestra separata insieme all'output della console.

Concettualmente, REPL è simile a Secure Shell (SSH). Allo stesso modo in cui puoi utilizzare SSH per interagire con un server remoto, Clojure REPL ti consente di interagire con un processo Clojure in esecuzione. Questa funzione può essere molto potente perché puoi persino allegare un REPL a un'app di produzione live e modificare il tuo programma mentre viene eseguito.

Variabili speciali in REPL

REPL include alcune variabili utili, quella ampiamente utilizzata è la variabile speciale * 1, * 2 e * 3. Questi vengono utilizzati per valutare i risultati delle tre espressioni più recenti.

L'esempio seguente mostra come queste variabili possono essere utilizzate.

user => "Hello"
Hello
user => "World"
World
user => (str *2 *1)
HelloWorld

Nell'esempio precedente, le prime due stringhe vengono inviate alla finestra di output REPL rispettivamente come "Hello" e "World". Quindi le variabili * 2 e * 1 vengono utilizzate per richiamare le ultime 2 espressioni valutate.