2013-01-19 27 views
5

我在Windows上使用新澤西SML。如果test.sml是一個SML文件,我可以在Windows命令提示符下運行這個執行:運行SML文件但不能保持交互模式

C:\> sml test.sml 

然後我得到通常SML輸出和一個新的SML命令提示符。

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)。因此它會等待新的聲明來解釋,直到你告訴它退出。

Acording至SML/NJ FAQ上usage,然後

的OS.Process.exit功能被從程序中在quiting SML的適當手段。

OS.Process.successOS.Process.failure作爲參數。