2009-12-16 10 views
15

Ho qualche problema con il sistema SML/NJ, cioè quando cerco di usare i tasti freccia (a sinistra oa destra per fare un correzione nell'espressione che ho digitato, fino a ripetere l'ultima espressione), il mio terminale stampa i codici. (ad esempio ^[[A per ^[[D per sinistra, ecc.). Mentre posso ancora usare il sistema, lo rende molto noioso.Come "correggere" il sistema interattivo SML/NJ per usare i tasti freccia

Mi sono guardato intorno in Control.Compiler, c'è qualcosa che mi manca? Per quanto valga, sto usando il Mac Terminal.

Grazie^_^

+0

quale ottimo linguaggio tuttavia l'implementazione del suo interprete non è affatto user-friendly. Non riesco a trovare un equivalente di ipython per smlj che è sfortunato – Har

risposta

14

Prova questo. È possibile utilizzare socat per aggiungere il supporto readline a molte cose:

socat READLINE EXEC:sml 

Ho appena realizzato che sei su OS X. socat sembra essere disponibile per OS X, anche se non ho provato (questo funziona su Linux).

+7

sul mio Linux, uso "rlwrap" per fare la stessa cosa: http://utopia.knoware.nl/~hlub/rlwrap/ – newacct

+0

GRAZIE^_^Oh sembra molto meglio (anche se ci sono voluti un bel po 'di lavoro per diventare socievoli e funzionanti.) Il prossimo box è un Linux). –

+0

Questo è fantastico, grazie! – icco

38

Un'altra opzione è rlwrap.

rlwrap sml 
+5

Se si possiede [macports] (http://www.macports.org/install.php), è possibile installare 'rlwrap' eseguendo' sudo port install rlwrap'. Quindi aggiungi 'alias sml = 'rlwrap/usr/local/smlnj/bin/sml'' a una nuova riga nel file' ~/.bash_profile'. – justspamjustin

+0

Non sapevo di rlwrap (o abuso di socat come menzionato sopra) finché non ho trovato questa risposta! Grazie! –

+3

Funziona anche con homebrew: brew install rlwrap. Non hai nemmeno bisogno di cambiare il tuo bash_profile. –

Problemi correlati