Xref: utzoo comp.lang.scheme:1598 comp.lang.functional:407 Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!uwm.edu!cs.utexas.edu!rice!news From: wright@gefion.rice.edu (Andrew Wright) Newsgroups: comp.lang.scheme,comp.lang.functional Subject: Re: call/cc and referential transparency Message-ID: <1990Aug29.145523.286@rice.edu> Date: 29 Aug 90 14:55:23 GMT References: <583@array.UUCP> <1990Aug24.212055.8368@nixtdc.uucp> Sender: news@rice.edu (News) Organization: Rice University, Houston Lines: 16 In article <1990Aug24.212055.8368@nixtdc.uucp> doug@nixtdc.UUCP (Doug Moen) writes: >... >The conclusion is that call/cc is non-functional no matter how you use it. >A purely functional language cannot have call/cc or a traditional >exception handling mechanism. I agree completely, although I think a simpler argument can be made. call-with-current-continuation grabs the current continuation, an object that depends on context. so obviously referential transparency cannot hold. Exception handling mechanisms may be viewed as a combination of call/cc and temporary assignment (or fluid-let), so by extension exception handling is not "functional" either. Andrew K. Wright Computer Science, Rice University wright@rice.edu Houston Texas 77251-1892