[Haskell-cafe] Re: Very freaky

Aaron Denney wnoise at ofb.net
Tue Jul 10 16:12:14 EDT 2007

On 2007-07-10, Dan Piponi <dpiponi at gmail.com> wrote:
> On 7/10/07, Andrew Coppin <andrewcoppin at btinternet.com> wrote:
>> But what does, say, "Maybe x -> x" say?
> Maybe X is the same as "True or X", where True is the statement that
> is always true. Remember that the definition is
> data Maybe X = Nothing | Just X
> You can read | as 'or', 'Just' as nothing but a wrapper around an X
> and Nothing as an axiom.
> So Maybe X -> X says that "True or X" implies X. That's a valid proposition.

It is?  Doesn't look like it.  Unless you just mean "grammatical" by
valid, rather than "true".

The standard function of this type is "fromJust"
fromJust (Just x) = x

It's incomplete, of course.

fromMaybe :: a -> Maybe a -> a
is complete, and (X => (True or X) => X) certainly is a true proposition.

Aaron Denney

More information about the Haskell-Cafe mailing list