On 19 Apr 2008, at 5:02 AM, David MacIver wrote:
Independently of the rant...
On Sat, Apr 19, 2008 at 6:01 AM, Jonathan Cast
<[EMAIL PROTECTED]> wrote:
But why do I need to jump through these hoops for a perfectly safe &
commonly desired operation?
It's called a proof obligation. Haskell is not here to stop you
from
jumping through hoops. In fact, it is here precisely to force you
to jump
through hoops. That's why it's called a bondage and discipline
language.
Surely it's there to lovingly assist you through the hoops? You can't
just force people not to do the wrong thing and expect to get a good
statically typed language out of it - you have to make it easier for
them to do the right thing.
I think going through the hoop is paramount in Haskell. That's why
Haskell is pure, for example, even though it (still) requires awkward
code on occasion. Haskell is certainly designed to make getting
through the hoops as easy as possible, but never by providing a
general way around them. (unsafePerformIO notwithstanding).
jcc
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe