On Thu 07 Oct, Joe English wrote: > The way I understand the term "referntially transparent", > it means that if you have > > let x = y in z > > then you can substitute all free occurrences of 'x' in 'z' > with 'y', or vice versa, without changing the meaning of > the expression. This is true in Haskell even if 'y' has > type 'IO a'. (For example, "the action which, when performed, > returns the contents of the file /var/log/messages" always > _means_ the same thing, even though it may _do_ different things > each time it's performed.) As you say, I think the problem is predictability of the results of _invoking_ actions. I'm quite happy with the idea of an action as a value which does not damage referential transparency if it appears in an expression. Regards -- Adrian Hey
- Re: Referential Transparency (was Re: OO in Hask... Michael Hobbs
- Re: Referential Transparency (was Re: OO in... Michael Hobbs
- Re: Referential Transparency (was Re: OO in... Michael Hobbs
- Re: Referential Transparency (was Re: OO in... Marcin 'Qrczak' Kowalczyk
- Re: Referential Transparency (was Re: OO in... Jan Skibinski
- Re: Referential Transparency (was Re: OO in... Adrian Hey
- Re: Referential Transparency (was Re: OO in... Adrian Hey
- Re: Referential Transparency (was Re: OO in... Adrian Hey
- Re: Referential Transparency (was Re: OO in... Adrian Hey
- Referential Transparency (was Re: OO in Has... Adrian Hey
- Re: Referential Transparency (was Re: OO in... Fergus Henderson
- Re: Referential Transparency (was Re: OO in... Fergus Henderson
- Re: Referential Transparency (was Re: OO in... Fergus Henderson
- Re: Referential Transparency (was Re: OO in... Fergus Henderson
- Re: Referential Transparency (was Re: OO in... Adrian Hey
- Re: Referential Transparency (was Re: OO in... Adrian Hey