Don’t stop the world Parallel Abstraction: manycore era + parallel collection Speculative: kill-off computations Better use of CPU Pipeline: highly parallelizable
calculateF(f, a); } in fut ⤳ (\(m: Maybe bool) -> match m with Just true => a …) calculateF ƒ1 1. 2. Steps: ƒ1 ⤳ (\(m: Maybe bool) -> match m with … ƒ2 = ⤳ :: Fut t → (t → t’) → Fut t’
variable evalFormula evalFormula 16 || doesn’t spawn new asynchronous computations! It rather declares there is possibility for parallelism || >>= >>= satisfiable? satisfiable?