You need to write the function in prefix form, thus:

{-# RULES "T"  forall x. (||) True x = True  #-}

I know this is stupid, but I havn't got around to fixing it.

Simon

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> Sent: Thursday, July 08, 1999 2:46 PM
> To: [EMAIL PROTECTED]
> Subject: rules
> 
> 
> I am trying Rules with  ghc-CVS-June-end-1999:
> 
>   module T where
>   {-# RULES "T"  forall x. (True || x) = True  #-}
> 
>   f = True || False
> 
> ghc -c -O -fglasgow-exts  t.hs
> yields
>     Rule T: Illegal left-hand side: (True || x)
>     LHS must be of form (f e1 .. en) where f is not forall'd
>  
> I could not invent any simplest Rule to pass the compilation.
> 
> 
> ------------------
> Sergey Mechveliani
> [EMAIL PROTECTED]
> 
> 
> 
  • rules S.D.Mechveliani
    • Simon Peyton-Jones

Reply via email to