| So, I set
|   import qualified Prelude
|   import Prelude hiding (Ord(..), Bounded(..), Num(..), Integral(..),
|                          Fractional(..), subtract, fromIntegral, 
|                          even, odd, gcd, lcm, (^), (^^)
|                         )
|   ...,
| and the user modules have to copy this "import" part. 
| Looks like it helps.

If you defined MyPrelude thus:

  module MyPrelude( module Prelude, Ord(..), Bounded(..) ..etc )
 
     import qualified Prelude
     import Prelude hiding (Ord(..), Bounded(..), Num(..), Integral(..),
                          Fractional(..), subtract, fromIntegral, 
                          even, odd, gcd, lcm, (^), (^^)
                        )

then the client modules would simply have to say

        import Prelude ()
        import MyPrelude

and you'd be done.  MyPrelude can simply re-export Prelude things.


This doesn't address your fromInteger problem.  I'm thinking
more actively about the import {-# SYNTAX #-} idea.  Don't 
hold your breath, because I'm away this month.  But if it will
make a significant difference to you I'm sure we can do something
in the next month or two.

Simon
 

Reply via email to