Does not work very well in Chrome, IE8, or FF. Does not allow pasting. Not really sure what it's good for except to show off an interesting hack, and the hack needs some improvement.
Ever wonder what the 200,000th Fibonacci number is? Last night with a recursive F# function I got it in FSI in just over 6 seconds. It would be cool if you could get this page to work well enough to do that.
It didn't like this :( It should list out all files from C:\
let root = "C:\\";
let getdirs dir =
try
System.IO.Directory.GetDirectories(dir)
with
| e -> Array.empty
let rec list_files dir = seq {
yield! System.IO.Directory.GetFiles(dir);
for subdir in (getdirs dir) do
match subdir with
| x when x.StartsWith("C:\\$") -> ()
| subdir -> yield! list_files subdir
}
list_files root
|> Seq.iter (printfn "%s")
printf "done"
Thanks for this - I'll take a look. The same code works fine when run through regular fsi.exe, so presumably something is going amiss over the Ajax interface.
The app got into a state where new fsi.exe processes wouldn't start up properly - they'd raise an unhandled exception and hang. I started being more diligent about cleaning up old processes.