Skip to content

Instantly share code, notes, and snippets.

@kjnilsson
Last active August 29, 2015 14:15
Show Gist options
  • Select an option

  • Save kjnilsson/f447395871cf36bc547c to your computer and use it in GitHub Desktop.

Select an option

Save kjnilsson/f447395871cf36bc547c to your computer and use it in GitHub Desktop.
FSharp recursive async fuction [Leaking] + Closure representation
[<EntryPoint>]
let main argv =
let rec loop () = async {
do! Async.Sleep 10
return! loop ()
return! loop () }
Async.Start <| loop ()
System.Console.ReadLine() |> ignore
0
(* compled representations of loop
loop@6-3
loop: Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Control.FSharpAsync<Microsoft.FSharp.Core.Unit>>
builder@: Microsoft.FSharp.Control.FSharpAsyncBuilder
loop@5-2
loop: Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Control.FSharpAsync<Microsoft.FSharp.Core.Unit>>
builder@: Microsoft.FSharp.Control.FSharpAsyncBuilder
loop@4-1
loop: Microsoft.FSharp.Core.FSharpFunc<Microsoft.FSharp.Core.Unit,Microsoft.FSharp.Control.FSharpAsync<Microsoft.FSharp.Core.Unit>>
builder@: Microsoft.FSharp.Control.FSharpAsyncBuilder
*)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment