David Menendez wrote:
On Sun, Nov 16, 2008 at 7:09 PM, Luke Palmer <[EMAIL PROTECTED]> wrote:
On Sun, Nov 16, 2008 at 5:06 PM, Peter Hercek <[EMAIL PROTECTED]> wrote:
... and the only value the function can return is bottom.
Is there any type system which would have more than
 one value which inhabits all types?
Well something like lazy C# might; i.e. every value has a _|_
(nontermination) and null (termination but undefined).

For that matter, Control.Exception allows you to distinguish
exceptional values from each other.


OK, thanks for responses. I'm not sure I understand it well
 so I try to summarize:

Control.Exception is an extension, also it probably cannot
 catch "error :: String -> a" since the report says so:
 http://www.haskell.org/onlinereport/exps.html#sect3.1
 So Haskell'98 has only one value of all types (the bottom).

But Haskell with Control.Exception extension has more values
 of all types since they can be thrown and later caught and
 investigated at that place.

Maybe the last sentence of section 2.1 (_|_ Bottom) of
 "Haskell/Denotational semantics" should be clarified better.

http://en.wikibooks.org/wiki/Haskell/Denotational_semantics#.E2.8A.A5_Bottom

So when trying to use Curry-Howard isomorphism for something
 in Haskell, one sould be pretty carefull what features of are
 being used.

Peter.

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

Reply via email to