Buscar..


Hola Mundo

Este ejemplo asume que has instalado OCaml .

Compilando el código OCaml

Cree un nuevo archivo llamado hello.ml , con el siguiente contenido:

print_string "Hello world!\n"

ocamlc es el compilador de OCaml. Para compilar y ejecutar este script, ejecute

$ ocamlc -o hello hello.ml

y luego ejecutar el binario resultante

$ ./hello
Hello world!

Ejecutando código OCaml

También puede ejecutar este script sin compilarlo en un binario. Puede hacerlo utilizando ocaml , el sistema de nivel básico de ocaml que permite el uso interactivo de OCaml. En tu shell, simplemente ejecuta

$ ocaml hello.ml
Hello world!

En la réplica

Abra un nuevo shell y escriba ocaml para abrir el sistema de nivel superior. Una vez en la sesión, puede escribir el mismo programa:

       OCaml version 4.02.1

# print_string "hello world!\n";;

pulse Intro para evaluar la expresión y desencadenar la impresión.

hello world!
- : unit = ()

¡Éxito! Lo vemos impreso hello world! , pero de que se trata el - : unit = () ? OCaml no tiene declaraciones, todo es una expresión que se evalúa a algún valor escrito. En este caso, print_string es una función que toma una string como entrada y devuelve una unit . Piense en la unit como un tipo que solo puede tomar un valor, () (también denominado unidad), y representa un cálculo final que no devuelve ningún valor significativo.

En este caso, print_string también tiene el efecto secundario de poner los caracteres que recibió como entrada en la pantalla, por lo que vemos la primera línea.

Para salir del REPL, presione ctrl+D

Como un script de Unix

Tenemos dos formas de crear un script OCaml. El primero usa el nivel superior del sistema (proporcionado por su administrador de paquetes como apt-get ) y el segundo usa el nivel superior proporcionado por OPAM .

Usa el sistema de nivel superior.

Abre tu editor favorito y escribe:

#!/usr/bin/ocaml

print_string "hello worlds!\n";;

Después, puedes usar chmod +x your_file.ml y puedes ejecutar tu script con ./your_file.ml .

Utilice el nivel superior proporcionado por OPAM

#!/usr/bin/env ocaml

print_string "hello worlds!\n";;

La gran diferencia es sobre la versión de tu nivel superior. De hecho, si configuró su OPAM con un switch específico (como opam switch 4.03.0 ), el script usará OCaml 4.03.0. De la primera forma, en Debian Sid, por ejemplo, el script usará OCaml 4.02.3.

Puede reemplazar el shebang por #!/usr/bin/env utop para usar utop lugar del nivel de vainilla.

utop

utop es otro nivel de ocaml fuera de la distribución, es decir, necesita descargar e instalar utop (la forma más sencilla es usar OPAM: opam install utop ). utop tiene muchas características como el histórico, la finalización y la edición de la línea interactiva.

Entonces, si quieres una manera fácil de probar algunos códigos de utop , utop es la mejor.

¿Por qué utop y no ocaml ?

utop y ocaml no tienen una gran diferencia si quieres un script ocaml como el de arriba. Pero lo común en la comunidad de OCaml es usar utop lugar de ocaml .

De hecho, el ocaml REPL es proporcionado por la distribución de ocaml. Por lo tanto, este REPL sigue el ciclo de lanzamiento del compilador y si desea algunas características adicionales, debe esperar el próximo lanzamiento del compilador. utop , como explicamos, está fuera de la distribución, por lo que el ciclo de lanzamiento no está restringido por el compilador y, si desea una característica adicional, es más probable que intente presionar esta característica dentro de utop que ocaml :).

Para este punto (y para la característica histórica) la mayoría de las personas en la comunidad de ocaml prefieren usar utop que ocaml .



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow