2009-12-16 24 views
15

Tengo problemas para usar el sistema interactivo SML/NJ, es decir, cuando intento usar mis teclas de flecha (ya sea hacia la izquierda o hacia la derecha para corrección en la expresión que he tipeado, hasta repetir la última expresión), mi Terminal imprime códigos. (por ejemplo, ^[[A para arriba ^[[D para izquierda, etc.). Si bien aún puedo usar el sistema, lo hace muy tedioso.Cómo 'arreglar' el sistema interactivo SML/NJ para utilizar las teclas de flecha

He echado un vistazo en Control.Compiler, ¿hay algo que me falta? Para lo que sea que valga la pena, estoy usando la Terminal Mac.

Gracias^_^

+0

qué gran lenguaje, pero la implementación de su intérprete no es fácil de usar. No puedo encontrar un equivalente de ipython para smlj que es desafortunado – Har

Respuesta

14

Pruebe esto. Se puede utilizar para añadir soporte socat readline a muchas cosas:

socat READLINE EXEC:sml 

Me di cuenta de que estás en OS X. socat sí parece estar disponible para OS X, aunque no he probado (esto no funciona en Linux).

+7

en mi Linux, uso "rlwrap" para hacer lo mismo: http://utopia.knoware.nl/~hlub/rlwrap/ – newacct

+0

GRACIAS^_^Oh eso se siente mucho mejor (aunque tardó bastante trabajo conseguir que Socat funcione y funcione. El siguiente cuadro es un Linux). –

+0

Esto es tan increíble, ¡gracias! – icco

38

Otra opción es rlwrap.

rlwrap sml 
+5

Si tiene [macports] (http://www.macports.org/install.php), puede instalar 'rlwrap' ejecutando' sudo port install rlwrap'. A continuación, agregue 'alias sml = 'rlwrap/usr/local/smlnj/bin/sml'' a una nueva línea en su archivo' ~/.bash_profile'. – justspamjustin

+0

¡No sabía sobre rlwrap (o abusando de socat como se mencionó anteriormente) hasta que encontré esta respuesta! ¡Gracias! –

+3

También funciona con homebrew: brew install rlwrap. Ni siquiera necesita cambiar su perfil de bash. –

Cuestiones relacionadas