Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- open System.Diagnostics
- let fsiProcess =
- let filename,args = if System.Environment.OSVersion.Platform = System.PlatformID.Unix
- then
- "/opt/mono-2.10/bin/mono", "/usr/lib/fsharp/fsi.exe" // does not work
- // "fsharpi", "" // does not work
- // "/usr/bin/mono", "/usr/lib/fsharp/fsi.exe" // does not work
- else
- @"C:\Program Files (x86)\Microsoft F#\v4.0\fsi.exe", ""
- let startInfo =
- new ProcessStartInfo
- (FileName = filename, UseShellExecute = false, Arguments = args,
- RedirectStandardError = true, CreateNoWindow = true, RedirectStandardOutput = true,
- RedirectStandardInput = true)
- try
- let p = Process.Start(startInfo)
- do p.EnableRaisingEvents <- true
- do p.BeginOutputReadLine ()
- p
- with e ->
- printfn "bah"
- reraise()
- fsiProcess.OutputDataReceived.Add(fun x ->
- let s = x.Data
- printfn "received %s:" s)
- fsiProcess.StandardInput.WriteLine ("let foo = 1;;\n")
- System.Console.ReadKey () |> ignore
- fsiProcess.Kill ()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement