Futures in Haskell

后端 未结 3 2145

Does Haskell have an equivalent of Alice\'s ability to bind a variable to a future?

val a = spawn foo;

where foo is some function.

I kn

3条回答
  •  猫巷女王i
    2021-02-07 21:38

    Not in the standard library, but

    http://ghcmutterings.wordpress.com/2010/08/20/parallel-programming-in-haskell-with-explicit-futures/

    data Future a = Future a
    
    fork :: Eval a -> Eval (Future a)
    fork a = do a' <- rpar (runEval a); return (Future a')
    
    join :: Future a -> Eval a
    join (Future a) = a `pseq` return a
    

提交回复
热议问题