I have the following fragment in a module that is accepted by ghc but not by 
hugs. It seems like it should be ok to me since

infixr 9  .
infixr 0 $>

Here's the offending line

tag  = (singleton . tagWith pos $>)

It works if I bracket it like this:

tag  = ((singleton . tagWith pos) $>)

Here's a self contained example:

module Foo where

infixr 5  $$
infixr 4 $$$

foo = (id $$ id $$$)

($$) = id
($$$)  = id

ghc acepts this, so long as $$$ has lower precedence than $$, otherwise it 
complains:

Foo.hs:6:
     The operator `$$$' [infixr 5] of a section
        must have lower precedence than the operand `($$)' [infixr 4]
        in the section: `((id $$ id) $$$)'

Duncan
_______________________________________________
Hugs-Bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/hugs-bugs

Reply via email to