Newsgroups: comp.lang.scheme,comp.lang.functional
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!ix.netcom.com!netcom.com!NewsWatcher!user
From: hbaker@netcom.com (Henry Baker)
Subject: Re: when to use state?
Message-ID: <hbaker-0401951536060001@192.0.2.1>
Sender: hbaker@netcom.com (Henry G. Baker)
Organization: nil
References: <3dfv8i$ifp@nkosi.well.com> <JDONHAM.94Dec27174139@hadron.us.oracle.com> <3ec0a5$sh9@cantaloupe.srv.cs.cmu.edu> <3ee20q$k2p@news.cis.nctu.edu.tw>
Date: Wed, 4 Jan 1995 23:33:03 GMT
Lines: 23
Xref: glinda.oz.cs.cmu.edu comp.lang.scheme:11706 comp.lang.functional:5480

In article <3ee20q$k2p@news.cis.nctu.edu.tw>, u8123033@cc.nctu.edu.tw
(Paladin Mu) wrote:

> : Okay, so maybe a programmer is clever enough that they can prove
> : that state0 == state1, so programming in the stateless language
> : directly is a win.  But, a compiler still has to prove that 
> : state0 is used in a "single-threaded" fashion in order to efficiently
> : implement the state using the machine's memory.  (I'm implicitly
> : assuming that state0 is "large".)  Hmm.  No such analysis is needed
> : for the stateful language.  So, on the one hand, we've made it 
> : blazingly apparent when a compiler can perform common subexpresssion elim. 
> : on the source, but the compiler has to perform a sophisticated analysis to
> : figure out how to implement the state efficiently.  
> 
> Such uniqueness analysis is not only sophisticated but undecidible. 
> That's why unique types are introduced as an appromixation. 
> Concorrent Clean is one of the language adopts the idea.

Do you have a good reference to Concurrent Clean which discusses this
issue?  Hopefully one on the net, but I'm not immune to going to the
library.

Thanks.
