OCaml
Scrivi il tuo primo script OCaml
Ricerca…
Ciao mondo
Questo esempio presume che tu abbia installato OCaml .
Compilare codice OCaml
Crea un nuovo file denominato hello.ml , con i seguenti contenuti:
print_string "Hello world!\n"
ocamlc è il compilatore OCaml. Per compilare ed eseguire questo script, esegui
$ ocamlc -o hello hello.ml
e quindi eseguire il binario risultante
$ ./hello
Hello world!
Esecuzione del codice OCaml
Puoi anche eseguire questo script senza compilarlo in un file binario. Puoi farlo usando ocaml , il sistema di tamtaple di ocaml che consente l'uso interattivo di OCaml. Nella tua shell, esegui semplicemente
$ ocaml hello.ml
Hello world!
Nella REPL
Apri una nuova shell e digita ocaml per aprire il sistema di livello superiore. Una volta nella sessione, puoi digitare lo stesso programma:
OCaml version 4.02.1
# print_string "hello world!\n";;
premere Invio per valutare l'espressione e attivare la stampa.
hello world!
- : unit = ()
Successo! Lo vediamo stampato hello world! , ma qual è il - : unit = () circa? OCaml non ha dichiarazioni, tutto è un'espressione che valuta un valore tipizzato. In questo caso, print_string è una funzione che accetta una string come input e restituisce unit . Pensa unit come a un tipo che può assumere solo un valore, () (indicato anche come unità) e rappresenta un calcolo finito che non restituisce alcun valore significativo.
In questo caso, print_string ha anche l'effetto collaterale di mettere i caratteri ricevuti come input sullo schermo, motivo per cui vediamo la prima riga.
Per uscire da REPL, premere ctrl+D
Come uno script Unix
Abbiamo due modi per creare uno script OCaml. Il primo utilizza il sistema di livello superiore (fornito dal tuo gestore di pacchetti come apt-get ) e il secondo usa il livello superiore fornito da OPAM .
Usa il sistema in alto
Apri il tuo editor preferito e scrivi:
#!/usr/bin/ocaml
print_string "hello worlds!\n";;
Dopo, puoi usare chmod +x your_file.ml e puoi eseguire lo script con ./your_file.ml .
Utilizza il livello superiore fornito da OPAM
#!/usr/bin/env ocaml
print_string "hello worlds!\n";;
La grande differenza riguarda la versione del tuo toplevel. Infatti, se hai configurato il tuo OPAM con uno switch specifico (come opam switch 4.03.0 ), lo script utilizzerà OCaml 4.03.0. Nel primo caso, in Debian Sid, ad esempio, lo script utilizzerà OCaml 4.02.3.
Puoi sostituire lo shebang con #!/usr/bin/env utop per usare utop invece il utop della vaniglia.
utop
utop è un altro utop fuori dalla distribuzione, il che significa che devi scaricare e installare utop (il modo più semplice è usare OPAM: opam install utop ). utop ha molte funzionalità come lo storico, il completamento e la modifica della linea interattiva.
Quindi, se vuoi un modo semplice per provare alcuni codici utop , utop è il migliore.
Perché utop e non ocaml ?
utop e ocaml non hanno una grande differenza, se si desidera uno script ocaml come sopra. Ma la cosa comune nella comunità OCaml è quello di utilizzare utop invece ocaml .
In effetti, il REPL ocaml è fornito dalla distribuzione ocaml. Quindi, questo REPL segue il ciclo di rilascio del compilatore e se vuoi alcune funzionalità extra, devi aspettare la prossima versione del compilatore. utop , come abbiamo spiegato, è al di fuori della distribuzione, in modo che il ciclo di rilascio non è vincolo dal compilatore e se si vuole una caratteristica in più, si sarà più probabile per cercare di spingere questa funzione all'interno utop di ocaml :)!
Per questo punto (e per la funzione storica) la maggior parte delle persone nella comunità OCaml preferiscono usare utop di ocaml .