lexer puzzle

Sean L. Palmer seanpalmer at verizon.net
Thu Sep 25 11:14:47 EDT 2003


> >>A... should be split into "A.." and "."
> >I found a compromise: let's make it a lexing error! :-)
> At least that agrees with what some Haskell compilers implement. No
> current Haskell compiler/interpreter agrees with what the report seems
> to say, that is that "A..." should be lexed as the two tokens "A.." and
> ".", and similarly, "A.where" should be lexed as "A.wher" followed by "e".

Hi.  I'm really new to Haskell, just learning it, and I must say I'm pretty
overwhelmed by the large variety of constructs. (=>, <-, \ to name a few)

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.  I kinda like dot
notation because it ties together the symbols visually, for instance
"myrec.myfield" is more of a unit than "myrec myfield".  It stays together
better when surrounded by other code, and would result in fewer parenthesis
necessary.

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
things their own way and it's difficult to grasp the language by looking at
various programs, since they're all so very different.  As a small example,
there's 'let' vs. 'where'.  Maybe a bit of pruning would be in order.

That said, I still think it looks more promising than any other language
I've looked at that actually is being actively used and maintained and has a
decent installed base and good cross platform support.  So I will learn it.
I just wish the transition was easier and that it took less time to learn.
;)

Sean



More information about the Haskell mailing list