fork download
  1. open System
  2.  
  3. let rec fac (n : bigint) =
  4. if n = bigint 0
  5. then bigint 1
  6. else n * fac (n - bigint 1)
  7.  
  8. let facs (xs : seq<bigint>) =
  9. xs
  10. |> Seq.map (fun x -> async { return fac x })
  11. |> Async.Parallel
  12. |> Async.RunSynchronously
  13.  
  14. seq { 2000 .. 10000 }
  15. |> Seq.map (fun x -> bigint x)
  16. |> facs
  17. |> Seq.iter Console.WriteLine
  18.  
Runtime error #stdin #stdout #stderr 0.61s 32272KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Unhandled Exception: System.ExecutionEngineException: Couldn't create thread
  at (wrapper managed-to-native) object:__icall_wrapper_mono_delegate_begin_invoke (object,intptr)
  at (wrapper delegate-begin-invoke) System.Threading.WaitCallback:begin_invoke_IAsyncResult__this___object_AsyncCallback_object (object,System.AsyncCallback,object)
  at System.Threading.ThreadPool.QueueUserWorkItem (System.Threading.WaitCallback callBack, System.Object state) [0x00000] 
  at Microsoft.FSharp.Control.TrampolineHolder.QueueWorkItem (Microsoft.FSharp.Core.FSharpFunc`2 f) [0x00000] 
  at Microsoft.FSharp.Control.AsyncBuilderImpl.queueAsync[BigInteger] (CancellationToken cancellationToken, Microsoft.FSharp.Core.FSharpFunc`2 cont, Microsoft.FSharp.Core.FSharpFunc`2 econt, Microsoft.FSharp.Core.FSharpFunc`2 ccont, Microsoft.FSharp.Control.FSharpAsync`1 p) [0x00000] 
  at <StartupCode$FSharp-Core>.$Control+Parallel@1305-1[System.Numerics.BigInteger].Invoke (Int32 i, Microsoft.FSharp.Control.FSharpAsync`1 p) [0x00000] 
  at Microsoft.FSharp.Collections.ArrayModule.IterateIndexed[FSharpAsync`1] (Microsoft.FSharp.Core.FSharpFunc`2 action, Microsoft.FSharp.Control.FSharpAsync`1[] array) [0x00000] 
  at <StartupCode$FSharp-Core>.$Control+Parallel@1258[System.Numerics.BigInteger].Invoke (Microsoft.FSharp.Control.AsyncParams`1 _arg3) [0x00000] 
  at Microsoft.FSharp.Control.AsyncImpl+protectedPrimitiveWithResync@919[System.Numerics.BigInteger[]].Invoke (Microsoft.FSharp.Control.AsyncParams`1 args) [0x00000] 
  at Microsoft.FSharp.Control.AsyncBuilderImpl+protectedPrimitive@690[System.Numerics.BigInteger[]].Invoke (Microsoft.FSharp.Control.AsyncParams`1 args) [0x00000]