Ashley Yakeley <[EMAIL PROTECTED]> wrote,
> At 2001-02-17 19:50, Manuel M. T. Chakravarty wrote:
>
> >It is
> >
> > bar = 42
> >
> >for which C has no corresponding phrase.
>
> Hmm...
>
> #define bar 42
No - this doesn't work as
#define bar (printf ("Evil side effect"), 42)
is perfectly legal. So, we have an implicit IO monad here,
too. What is interesting, however, is that C does not
require `return' in all contexts itself. Or in other words,
C's comma notation has an implicit `return' in the last
expression.
> ...although I would always do
>
> const int bar = 42
That's a good one, however. It in effect rules out side
effects by C's definition of constant expressions.
So, I guess, I have to extend my example to
bar x = x + 42
Cheers,
Manuel
_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe