Xref: utzoo comp.object:2365 comp.lang.functional:556 Path: utzoo!censor!geac!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!usc!julius.cs.uiuc.edu!rpi!sci.ccny.cuny.edu!phri!cmcl2!kramden.acf.nyu.edu!brnstnd From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein) Newsgroups: comp.object,comp.lang.functional Subject: Re: Global program state. Message-ID: <27109:Jan301:33:4391@kramden.acf.nyu.edu> Date: 3 Jan 91 01:33:43 GMT References: <27823155.211e@petunia.CalPoly.EDU> Organization: IR Lines: 16 In article <27823155.211e@petunia.CalPoly.EDU> jdudeck@polyslo.CalPoly.EDU (John R. Dudeck) writes: > In the book, _Principles of Functional Programming_, by Glaser, Hankin, > & Till, it is stated, "the notion of global state that may change > arbitrarily at each step of the computation has proved to be both > intuitively and mathematically intractable." That's a nice religion but it's simply not true. I am working on a formal, quite mathematical, definition for the semantics of my Q language. Q supports nonpreemptive threads and some amount of parallel processing. It supports data hiding even better than Ada---Piercarlo, if you're reading this, I stole your ideas about visibility in the opposite direction. Yet the notion of global state proves quite useful in the definition. ---Dan Difference between Multics and Ada: Multics was ten years *ahead* of its time.