2

最近、sml-modeSMLコードを実行するためにEmacsパッケージに手を出し始めました。私が直面している問題は、SMLコード/ファイルの領域を越えてREPLに送信しようとするときです(これは、プリミティブREPLに悩まされることなくSMLで複数行の関数を記述する唯一の論理的な方法だと思います)。これが私のワークフローです:

  • SMLファイルを開きます(SMLモードはウィンドウの下部に表示されます)
  • まだ実行されていない場合はREPLを開きます(C-c C-s
  • もう一度SMLファイルに戻り、関数を記述します
  • 機能全体を選択し、を押しC-C C-rます。「`sml-prog-proc`バッファではありません」というエラーが表示されます
  • C-C C-lここで、リージョンを選択する代わりに、 ;を使用してファイル全体をREPLに送信してみてください。再びミニバッファで同じエラー

誰かがこれが発生する理由と、SMLを使用しているときにスクリプト/ファイルからREPLにコードを実際に送信する方法を理解するのを手伝ってもらえますか?重要な場合は、SML/NJを使用しています。

TIA、サスケ

4

1 に答える 1

4

これは私を悩ませていました。それはある場合には機能しましたが、他の場合には機能しなかったからです。

smlプロセスが('use'コマンドの発行時に推奨されるようにC-d)強制終了され、同じバッファー(C-c C-s)からすぐに再起動された場合、'send-to-repl'操作のいずれかが実行されるたびにエラーが発生します。

正しい方法(replを強制終了した後)は、編集中の.smlファイルを含むバッファーに戻り、そこから( )または( )または( )C-c C-sのいずれかによってreplを再起動することです。C-c C-rC-c C-l

HTH。

于 2013-01-20T01:28:00.630 に答える