我一直在嘗試一個星期來讓F#交互在Emacs中工作,但我一直未能。如何在Emacs中運行F#交互(* nix)
問題是,無論何時運行「fsi」或「fsharpi」(使用fsharp模式或在shell緩衝區中),緩衝區都將無法響應。我檢查系統監視器,看到使用100%CPU的單聲道進程,顯然我鍵入的任何內容都沒有得到評估。
我試過這個Emacs 24.1和23.2;在OS X,Linux Mint和Fedora上也是如此,所有這些都會導致同樣的問題。
我已經嘗試過不同版本的單聲道(OS X上2.10.9,3.0和2.8; Linux Mint上2.10.8.1,Fedora上不記得)。我也試過F#2.0和3.0;所有結果都一樣。
我也嘗試傳遞「--no-gui」和「--readline」時啓動解釋器沒有用。
這裏基本上會發生什麼
bash-3.2$ fsharpi
Microsoft (R) F# 3.0 Interactive version (Mono build)
Copyright (c) Microsoft Corporation. All Rights Reserved.
For help type #help;;
> - 1+2;;
# after waiting for a minute, I kill the mono process
Killed: 9
bash-3.2$ bash: syntax error near unexpected token `;;'
然而,解釋不工作時運行它的「ANSI-術語」緩衝:
bash-3.2$ fsharpi
Microsoft (R) F# 3.0 Interactive version (Mono build)
Copyright (c) Microsoft Corporation. All Rights Reserved.
For help type #help;;
> - 1+2;;
val it : int = 3
我想與fsharp模式,以便用它我可以很容易地將代碼發送給解釋器。
我還沒有看到任何人有這樣的在線問題,解決這將使開發更加方便。
有關如何使這項工作的任何想法?
編輯:如預期的那樣,以comint模式運行它也會「掛起」(comint是fsharp模式使用的)。
感謝您的答覆!我只是將它發佈到該郵件列表中。爲了澄清,我使用了fsharp-mode 0.3(最新版本),並且無限循環問題似乎有一些縮進;這發生在啓動fsi之後。 – dud5