Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2019
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 0.89 KB | None | 0 0
  1. open System
  2. open Hopac
  3. open Hopac.Infixes
  4.  
  5. let rec serverUntil evt j =
  6.     evt <|> (memo j ^=> fun _ -> serverUntil evt j)
  7.  
  8. let printDelay msg =
  9.     Job.delay <| fun _ ->
  10.         printfn "before timeout"
  11.         timeOutMillis 200
  12.     >>- fun _ -> printfn "after, msg: %s" msg
  13.  
  14. [<EntryPoint>]
  15. let main argv =
  16.  
  17.     let a = (timeOutMillis 1000 >>- fun _ -> printfn "sdfasdfasdfasdf")
  18.    
  19.     let j =
  20.         Job.delay <| fun _ ->
  21.             printfn "\ttimer start"
  22.             timeOutMillis 500
  23.         >>=. Promise.start (timeOutMillis 500 >>- fun _ -> printfn "ivar created"; 10)
  24.         >>- fun p -> printfn "\ttimer half"; p
  25.         >>= Promise.read
  26.         >>- fun x -> printfn "\ttimer end"; x
  27.         |> memo
  28.    
  29.     serverUntil j (printDelay "hello") |> Job.Ignore |> start
  30.     let r = Promise.read j |> run
  31.     printfn "val: %A" r
  32.     let a = Console.ReadLine ()
  33.  
  34.     0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement