Advertisement
Guest User

Untitled

a guest
Jan 21st, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 0.67 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.     timeOutMillis 200 >>- fun _ -> printfn "%s" msg
  10.         //^=> fun _ -> printfn "sdf"; Job.result 10
  11.  
  12. [<EntryPoint>]
  13. let main argv =
  14.  
  15.     //let j = memo <| timeOutMillis 1000
  16.     let j =
  17.         timeOutMillis 500
  18.             >>- (fun _ -> printfn "timeout"; 10)
  19.             >>= (fun x -> timeOutMillis 500 >>-. x)
  20.             |> memo
  21.    
  22.     serverUntil j (printDelay "hello") |> Job.Ignore |> start |> ignore
  23.     let r = Promise.read j |> run
  24.     printfn "val: %A" r
  25.     let a = Console.ReadLine ()
  26.  
  27.     0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement