26

私はSICPを読んでいて、自作mit-schemeを介してosx10.8ラップトップにインストールされているものを使用しています。

すべてが宣伝どおりに機能しますが、PythonやNode.jsなどのランタイムのREPLでタブ補完とコマンドライン履歴を簡単に取得できることに甘んじています。

私は頑丈なものを探していませんが、これらの機能は最新のREPLで非常に簡単に利用できます(Pythonの単純なスタートアップファイルであり、Node.jsの数行で実装できます)。

ヘビーデューティーなアプリケーションやemacs(つまりxtermターミナル)に切り替えることなく、mit-scheme REPLでタブ補完とコマンド履歴を取得する簡単な方法はありますか?

4

2 に答える 2

61

readlineラッパーをインストールします。

brew install rlwrap

インストールrlwrap schemeすると、永続的な履歴、パレンマッチング、タブ補完が提供されます。私は通常、次の引数でrlwrapを使用します。

-r in-に表示されているすべての単語を入力し、完了リストに出力します。

-c完全なファイル名

-fタブ補完に使用する単語のリストを指定します。MITスキームリファレンスマニュアルのバインディングの要約リストを使用しています。ここでリストを再公開するのではなく、この要点で見つけることができます。このファイルを「$HOME」/scheme_completion.txtに保存しています

rlwrap -r -c -f "$HOME"/scheme_completion.txt scheme

1 ]=> (flo:a <tab tab>
flo:abs    flo:acos   flo:asin   flo:atan   flo:atan2  
1 ]=> (flo:abs -42.0)

;Value: 42.
于 2012-08-11T18:02:49.470 に答える
1

実際には、Emacsを使用し、その中でGeiserを使用してREPLにアクセスし、スキームファイルの編集を支援することをお勧めします。また、Chez SchemeRacketMIT SchemeGuileChickenGambitChibiSchemeなどのさまざまなSchemeREPLを簡単に処理できます。EmacsはSchemeとLISPで使用するために非常によく調整されたままです。強くお勧めします。

于 2020-12-19T10:39:16.280 に答える