[Haskell-cafe] Why is this strict in its arguments?

Ryan Ingram ryani.spam at gmail.com
Tue Dec 4 18:35:28 EST 2007


On 12/4/07, Stefan O'Rear <stefanor at cox.net> wrote:
>
> "Is there a reason why 2 + 2 is defined as 4 instead of, for example,
> 5?"


Wow.  That wasn't really necessary.  4 has a clear meaning (the number after
the number after the number after the number after zero) which is equivalent
to 2 + 2.  I'm not talking about naming issues; you could say that 5 was
that number but then nobody would know what you are talking about.  I am
asking about the history & motivation behind the original definition of
strictness, not arguing for a redefinition.

Strictness is more useful in practice, simpler to define, and easier to
> approximate.


Please elaborate; this is exactly why I asked.  In particular, "more useful
in practice" is the thing I am most curious about.


> What benefit does your notion offer?


Well, one usually says something like "f is strict in its 2nd argument"
which on casual reading tends to make me think that it has something to do
with the argument.  By the actual definition, however, f _ _ = undefined is
strict in all of its arguments; but it's clear from the definition that the
arguments are irrelevant.

  -- ryan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20071204/5d850da9/attachment.htm


More information about the Haskell-Cafe mailing list