lexer puzzle

Hal Daume III hdaume at ISI.EDU
Thu Sep 25 11:16:17 EDT 2003


Hi,

> But I'm just writing this to let you guys know (surely you know this
> already) that anyone from a C/C++/Java/Delphi background is going to
> completely misunderstand the meaning of A.anything in Haskell... it's
> completely nonintuitive to people with my background.  

Surely this is no worse than misunderstanding '=', as in:

> f n = n + 1

is it?  I'd say of all the hurdles going from C++-esque to Haskell, the 
A.foo is one of the least troubling (I could be wrong and would like to 
know if I am).

> Haskell to me seems to be a great language with a syntax problem, and a bad
> case of too many ways to do the same thing; thus every programmer does

I've always thought it the opposite :).  Let vs. where can be somewhat 
confusing, and it is largely a matter of style, but they're not completely 
interchangable, esp. in the presence of, say guards, ie.:

> f x | x < 0 = foo x
>     | x > 0 = foo (-x)
>   where foo y = ...

could not be done with a let.

My 2 cents...

 - Hal




More information about the Haskell mailing list