
On 28 Jun 2005, at 21:03, Ken T Takusagawa wrote:
The following short program:
module Main where Just foo = undefined
Causes an error message: hmake -hat hatd.hs hat-trans hatd.hs Wrote Hat/hatd.hs /usr/bin/haskell-compiler -c -package hat -o Hat/hatd.o Hat/hatd.hs
Hat/hatd.hs:10:10: Qualified variable in pattern: T.mkRoot
with hat 2.0.4 and ghc 6.4-2 (debian)
My last reply I realise was somewhat useless - in that the addition of a main function still gives the error. However, I think that this is actually hat catching a syntactic error that the normal compilers don't catch... The haskell syntax states: decl -> gendecl | (funlhs | pat0) rhs where, gendecl covers type definitions, funlhs covers functions (and must start with a lower case character), and pat0 covers 0 arity paterns. Correct me if I'm wrong, bit if I'm reading the syntax correctly (a big if), then this program is not correct Haskell 98. Bob