8

ライブ デバッグ用に F# REPL をアプリケーションに追加したいと考えています。(F# インタラクティブ)のソース コードを見ているfsi.exeと、F# コンパイラの内部を突っ込んでいるように見える大量の処理が行われています。このため、この同じコードをアプリケーションのコンテキストでコンパイルすることはできません。

F# REPL をどこかに実装する簡単な例はありますか? これがかなり簡単になることを望んでいたでしょう。

4

2 に答える 2

6

簡単に言えば、(残念ながら) F# は現在、アプリケーションで F# Interactive をホストするための API を提供していません。多くの人がこれを求めています - たとえば、このSO questionを参照してください。

それに対してできることは基本的に2つあります。

  • オープン ソース リリースを変更し、fsi.exe必要な API を提供する DLL ライブラリとしてコンパイルできます。これは単純な作業ではありません - F# Interactive はコンパイラと密接に結びついています (入力したコードをオンザフライでコンパイルします)、REPL を実装する型を呼び出し可能な型にカプセル化することは可能です (ただし、いくつかの型を取ることはできません)。ファイルを取り出します - これを機能させるには、F# 全体をコンパイルする必要があります)。

  • Visual Studio と同じように別のプロセスとして実行fsi.exeし、標準入出力を使用してコマンドを送信できます。起動時にライブラリをロードすることで、柔軟性を高めることができますfsi.exe。ライブラリは .NET Remoting を使用してアプリケーションに接続し直し、一部のデータを公開できます。

残念ながら、現時点でできることはおそらくこれら 2 つのオプションだけです。

編集 私はすでにこの質問にどこかで(おそらく電子メールで)答えたと思っていましたが、それを
見つけることができませんでした! 正確な重複を見つけたMauricioに感謝します(重複した回答があっても... Doh!)

于 2011-02-15T17:32:57.413 に答える
1

私は、WPF アプリケーション内でオープン ソースの F# インタラクティブ実行可能ファイルを使用する方法について、一連のブログ記事を書いてきました。

コードベースは github で入手できます - https://github.com/oriches/Simple.Wpf.FSharp.Repl

一連のブログ投稿は次のとおりです。

http://awkwardcoder.blogspot.co.uk/2013/12/simple-f-repl-in-wpf-part-1.html

http://awkwardcoder.blogspot.co.uk/2013/12/simple-f-repl-in-wpf-part-2.html

http://awkwardcoder.blogspot.co.uk/2013/12/simple-f-repl-in-wpf-part-3.html

最後の投稿はすぐに続きます。

于 2014-01-03T17:03:54.860 に答える