如何"修复"SML/NJ交互系统以使用箭头键

pab*_*ier 19 sml smlnj

我在使用SML/NJ交互系统时遇到了一些麻烦,即当我尝试使用我的箭头键时(左或右在我输入的表达式中进行校正,最多重复最后一个表达式),我的终端打印代码.(例如^[[A,^[[D左起等).虽然我仍然可以使用该系统,但它使它非常繁琐.

我在Control.Compiler中环顾四周,有什么我想念的吗?无论它的价值如何,我都在使用Mac终端.

谢谢^ _ ^

Tel*_*hus 42

另一种选择是rlwrap.

rlwrap sml
Run Code Online (Sandbox Code Playgroud)

  • 如果你有[macports](http://www.macports.org/install.php),你可以通过运行`sudo port install rlwrap`来安装`rlwrap`.然后将`alias sml ='rlwrap/usr/local/smlnj/bin/sml'`添加到`〜/ .bash_profile`文件的新行. (5认同)
  • 也适用于自制:brew install rlwrap.您甚至不需要更改bash_profile. (4认同)

Zoo*_*ork 16

试试这个.您可以使用socat为许多内容添加readline支持:

socat READLINE EXEC:sml
Run Code Online (Sandbox Code Playgroud)

我刚刚意识到你是在OS X上.虽然我没有对它进行过测试(但这确实适用于Linux),但socat似乎可用于OS X.

  • 在我的Linux上,我使用"rlwrap"来做同样的事情:http://utopia.knoware.nl/~hlub/rlwrap/ (8认同)