On Tue, 28 Sep 1999, Adrian Hey wrote: > So (a && b) = (b && a) is invalid && has type &&::Boolean->Boolean->Boolean _|_ is not of type Boolean. So, if you pass && a value of type _|_, you have violated its type requirements (precondition) and should not expect expect a lawful result. Haskell's type checker is not able to prevent you from passing _|_ to &&. I don't think this failure makes Haskell not a functional language (all functions have preconditions!). I do think it makes Haskel less than perfectly type-safe. I believe that Charity disallows _|_. I don't know whether the cost of doing so is worth the gain in type safety. -Alex- ___________________________________________________________________ S. Alexander Jacobson Shop.Com 1-212-697-0184 voice The Easiest Way To Shop
- Re: Haskell and Parallelism (was: What is a function... Kevin Hammond
- Re: Haskell and Parallelism (was: What is a fun... S. Alexander Jacobson
- Re: Haskell and Parallelism (was: What is a fun... Arthur Gold
- Re: Haskell and Parallelism (was: What is a fun... Kevin Hammond
- Re: Haskell and Parallelism (was: What is a fun... Martin Norb{ck
- Re: Haskell and Parallelism (was: What is a fun... S. Alexander Jacobson
- Re: Haskell and Parallelism (was: What is a fun... Paul Hudak
- Re: Haskell and Parallelism (was: What is a fun... S. Alexander Jacobson
- Re: Haskell and Parallelism (was: What is a fun... Paul Hudak
- Re: Haskell and Parallelism (was: What is a fun... Adrian Hey
- Re: Haskell and Parallelism (was: What is a fun... Fergus Henderson
- Re: Haskell and Parallelism (was: What is a fun... Fergus Henderson