Re: Qualified variable in pattern: T.mkRoot

Thomas Davie <[email protected]> Wed, 29 Jun 2005 12:11:22 +0100
Newsgroups gmane.comp.lang.haskell.hat
Message-ID <[email protected]>
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