Jonathan Cast <[EMAIL PROTECTED]> wrote:

> 
> On 31 Dec 2007, at 10:43 AM, Achim Schneider wrote:
> 
> > Achim Schneider <[EMAIL PROTECTED]> wrote:
> >
> >> That's not specified though, the runtime could choose to let +
> >> force the two chunks the different way round.
> >>
> > And that is probably also the reason why [1..] == [1..] is _|_.
> >
> > Is "Something that can be, in any evaluation strategy, be bottom, is
> > bottom" quite right, i.e. the formalism defined such, that no
> > possibly unevaluable thing is defined?
> 
> No.  Again, the semantics of Haskell are defined denotationally, not  
> operationally.  In fact, Haskell implementations are required to use  
> an evaluation strategy that finds a value whenever one  
> (denotationally) exists, so it's the exact opposite of what you said.
> 
> Strict languages come much closer to your rule, OTOH.
> 
I guess I just have to change unevaluable to not denotationally
reducable. Except to _|_, of course. Which makes it completely logical,
but also completely meaningless if you don't look at the algebra.

It seems like I have to translate the formulae to plain English after
all.

Not today, though, I'm planning to be drunk in one hour and a half.

-- 
(c) this sig last receiving data processing entity. Inspect headers for
past copyright information. All rights reserved. Unauthorised copying,
hiring, renting, public performance and/or broadcasting of this
signature prohibited. 

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to