-
Notifications
You must be signed in to change notification settings - Fork 582
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Try to use the FSI as a dll instead of calling fsi.exe #41
Comments
The F# 3.0 open source compiler comes with what looks like a simple API for interactive compilation and execution. See https://github.com/fsharp/fsharp/blob/master/src/fsharp/vs/SimpleServices.fs This is part of FSharp.Compiler.dll when open source F# 3.0 is installed. I asked @dsyme and he said this it is the one they use for Try F#. See Microsoft.FSharp.Compiler.Interactive.Runner.InteractiveConsole. This API is not in the Microsoft FSharp.Compiler.dll so you'd need a private copy of the compiler dll? |
uih. this would help a lot. |
I would recommend adding or consuming the modified compiler There a few options:
The ScriptCs stuff uses a modified compiler available from nuget, its slightly different in that it has evaluation options that are deterministic, as soon as you call for an eval you can retrieve the result from the output stream. This is something that I worked on with Dons help. I believe Tomas also has something almost identical. To be honest I don't think the eval option is needed as you want to tun the whole fsx file through the compiler anyway. |
Here are some of my goals:
|
Do you have a sample in mind to try this out on? I could take a look when I get a chance. |
Mhm. would be cool if it would work with http://fsharp.github.io/FAKE/gettingstarted.html |
Documentation: http://fsharp.github.io/FSharp.Compiler.Service/interactive.html @tpetricek @dsyme: Do you think this is a good idea? |
@forki Yes, this will be the baseline for future scriptcs-fsharp integration, as well. |
FAKE 3.0 alpha is out |
A FSI.dll is needed.
Good thing is: @fahadsuhaib built one.
Let's try this out.
The text was updated successfully, but these errors were encountered: