2013-01-19 4 views
5

WindowsでNew Jersey SMLを使用しています。私はその後、通常のSML出力と新しいSMLコマンドプロンプトを取得SMLファイルを実行しますが、対話モードでは残しません。

C:\> sml test.sml 

test.smlはSMLファイルであれば、私は、Windowsのコマンドプロンプトでこれを実行することにより、それを実行することができます。

Standard ML of New Jersey v110.75 [built: Sat Sep 29 12:51:13 2012] 
[opening hw1.sml] 
val d2 = (1,1) : int * int 
val d3 = (1,1) : int * int 
val d4 = (2,1) : int * int 
val d5 = (1,2) : int * int 
val x7 = true : bool 
- 

私が代わりにしたいのは、Windowsコマンドプロンプトに戻ってSML対話モードにしないことです。

どうすればいいですか?

答えて

8

あなたがしようとしました:その向こう

sml <test.sml 

を、そのコンパイルマネージャ(CM)SML/NJを使用すると、実際にあなたはバイナリにプログラムをコンパイルし、それらを別々に実行することができます。 manualはもっと詳しく説明できるはずです(特に15章ml-buildコマンドの説明を参照してください)。

+0

あなたの提案は夢のように機能します。ありがとう。 – rlandster

3

このようにSML/NJを実行すると、REPL(read-eval-print-loop)が開きます。したがって、新しい宣言が終了するまで、新しい宣言が解釈されるのを待ちます。

OS.Process.exit機能は、プログラム内からSMLをquitingの適切な手段は、その後、usageにSML/NJ FAQを

あるAcording。

これは、引数としてOS.Process.successまたはOS.Process.failureのいずれかをとります。

関連する問題