[Haskell-cafe] Re: Type question in instance of a class
Peter Hercek
phercek at gmail.com
Tue Nov 18 13:05:05 EST 2008
David Menendez wrote:
> On Sun, Nov 16, 2008 at 7:09 PM, Luke Palmer <lrpalmer at gmail.com> wrote:
>> On Sun, Nov 16, 2008 at 5:06 PM, Peter Hercek <phercek at gmail.com> 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.
More information about the Haskell-Cafe
mailing list