smlEmpezando con sml


Observaciones

Esta sección proporciona una descripción general de qué es sml y por qué un desarrollador puede querer usarlo.

También debe mencionar cualquier tema grande dentro de sml, y vincular a los temas relacionados. Dado que la Documentación para sml es nueva, es posible que deba crear versiones iniciales de los temas relacionados.

Instalación

Hay una docena de implementaciones de Standard ML. MLton produce código muy optimizado, pero no tiene REPL . SML / NJ es el más utilizado, pero tiene mensajes de error ligeramente difíciles para fines de aprendizaje. Moscow ML y Poly / ML son fáciles de comenzar, pero no son compatibles con el formato de paquete .mlb. Sin embargo, eso no es esencial para empezar.

Aquí hay instrucciones para instalar cada uno de SML / NJ, Moscow ML y Poly / ML divididos por sistema operativo.

En Windows

SML / NJ:

Moscú ML:

  • Vaya a http://mosml.org/ y haga clic en "Descargar Win. Installer". Ejecuta el instalador.
  • Ahora tiene un REPL en, por ejemplo, C:\Program Files (x86)\mosml\bin\mosml.exe .

Usando Homebrew en MacOS

SML / NJ:

  • Ejecute brew install smlnj como su propio usuario. Prueba REPL con smlnj .

Moscú ML:

  • Vaya a http://mosml.org/ y haga clic en "Descargar archivo PKG". Ejecuta el instalador.
  • Falta ... Prueba REPL ¿cómo? ¿Está en $PATH ahora?

En Ubuntu / Debian Linux

SML / NJ:

  • Ejecute sudo apt-get install smlnj como superusuario. Prueba REPL con smlnj .

Moscú ML:

  • (Ubuntu) Agrega el PPA como el superusuario. Prueba REPL con mosml .

    sudo add-apt-repository ppa:kflarsen/mosml
    sudo apt-get update
    sudo apt-get install mosml
     

Añadiendo soporte de readline

Para poder utilizar las teclas de flecha para navegar por las líneas que se escribieron previamente en el REPL, la mayoría de los compiladores SML pueden beneficiarse del programa rlwrap . Usando Homebrew en MacOS, instálalo con brew install rlwrap , y en Ubuntu / Debian Linux, instálalo con sudo apt-get install rlwrap . Luego en la terminal, intente lo siguiente:

alias mosml='rlwrap mosml -P full'
alias sml='rlwrap sml'
alias poly='rlwrap poly'
 

Estos alias se pueden agregar, por ejemplo, a su ~/.bashrc para que funcionen de forma predeterminada.

La tecla de flechas ahora debería funcionar mejor.