"Brandon S. Allbery KF8NH" <[EMAIL PROTECTED]> writes: > On Sep 4, 2007, at 5:02 , Miguel Mitrofanov wrote: > >>> It depends on arbitrary restrictions on what constitutes an >>> (boolean) expression, something that is anathema to >>> functional programmers :-) Spot the language: >>> while if E >>> then S; F >>> else False >>> fi >>> do T >>> od >>>> It reminds me of a paper by Knuth, where he states that >>>> "goto" statement is necessary; don't remember the title, >>>> however. >>> I don't remember needing a goto in Haskell... >> >> Well, for imperative languages, of course. > > We're talking goto-the-concept, since "break" counts as > "goto";
I hadn't interpreted the "reminding of Knuth" that way. I wouldn't count break as a goto -- what makes goto especially nasty is that the destination isn't indicated by the structure of the source; it could be just anywhere. Break is slightly more structured. > thus, so does MonadCont, and so does pattern match failure > in a monad. I've never been entirely happy with those... -- Jón Fairbairn [EMAIL PROTECTED] _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe