On Sun, 14 Sep 2003 00:30:40 +0200 Marcin 'Qrczak' Kowalczyk <qrczak@knm.org.pl> wrote:
Dnia pi_ 12. wrze_nia 2003 20:31, Iavor Diatchki napisa_:
what do people think should be the tokens produced by a haskell lexer when applied to the following input:
A...
A (constructor), then ... (operator). This is how I understand Haskell 98 lexing rules.
My first thought was that it should produce, A.. ., as in (.) (A..), but obviously that would be wrong as A.. must be a function and therefore to be passed to (.) it would need to be (A..). So with a little more thought, I seem to agree with GHC despite it being non-sensical. GHC produces the following given: 5 Prelude... 6 "Variable not in scope: `Prelude...'" I take this to mean the (..) function from the Prelude module. This is, as far as I'm concerned, syntactically correct, despite the fact that there isn't any way to make a (..) function* as .. is syntax (A... being different syntax). * Well... actually I'm pretty certain you could with TH