Impressions of Mozart-Oz
Mon Dec 16 17:01:29 CET 2002
Luke Gorrie wrote:
>On the other hand, it's probably true that passing the whole
>state record around and updating it in the furthest corners of
>your process is a sign of poor design.
I agree. There's a point where having a globally accessible state becomes
less intrusive than threading that state throughout your program in a purely
functional way. There was a long thread about this in comp.lang.functional
some time back, which coincidentally was started by Peter Van Roy, the
driving force behind Mozart/Oz (he was attempting to demonstrate why Mozart
Taking away all forms of globals rapidly gives state updates for many large
programs a puzzle-like feel. You get this a lot in Haskell. There's too
much mental effort for something fundamentally easy.
Wandering a bit, I'd be curious to know about the history of the
undocumented "vector" module, a C implementation of functional arrays.
Sometimes not having fast array updates hurts, and this sounds like a good
solution. But it has been in stealth mode for a couple of releases now.
More information about the erlang-questions