Interesting. I’ll read that article…
Note that message passing between agents in F# is pass-by-reference and does not do a deep copy or serialization. It relies upon .NET’s concurrent GC. In contrast, message passing in OCaml is serialization between processes. There are applications better suited to both but copying impedes multicore parallelism.
FWIW, I think it is unidiomatic to pass functions like that in MLs when you could pass a value of a union type instead. Debugging is easier with union types.
Cheers,
Jon.
--