[Hat] Qualified variable in pattern: T.mkRoot

Thomas Davie tatd2 at kent.ac.uk
Wed Jun 29 07:11:22 EDT 2005


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


More information about the Hat mailing list