Changeset 15407
- Timestamp:
- 03/02/07 11:34:17 (21 months ago)
- Location:
- src/Pugs
- Files:
-
- 2 modified
-
Class.hs (modified) (3 diffs)
-
Meta/Str.hs (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Class.hs
r15399 r15407 19 19 , module MO.Compile.Class 20 20 , module MO.Util 21 , module Control.Monad.Fix 21 22 ) where 22 23 import MO.Run hiding (__) … … 26 27 import Pugs.Internals 27 28 import Pugs.AST.Eval 29 import Control.Monad.Fix 28 30 29 31 class (Show a, Typeable a, Ord a, Typeable1 m, Monad m) => Boxable m a | a -> m where … … 73 75 } 74 76 77 mkBoxPureClass :: forall a1 (m :: * -> *) a (m1 :: * -> *). 78 ( Boxable m a1 79 , Boxable m a 80 , Codeable m1 (HsCode m) 81 , Typeable1 m1 82 ) => String -> [(ID, a1 -> m (Invocant m))] -> a -> MI m1 83 mkBoxPureClass cls methods self = 84 mkBoxClass cls methods' 85 where 86 methods' = methods ++ 87 [ "HOW" ... (const self) 88 , "WHICH" ... id 89 ] 90 75 91 mkBoxMethod :: forall t (m1 :: * -> *) (m :: * -> *). 76 92 ( Method m (SimpleMethod m) -
src/Pugs/Meta/Str.hs
r15397 r15407 10 10 11 11 _StrClass :: PureClass 12 _StrClass = mkBoxClass "Str"12 _StrClass = fix $ mkBoxPureClass "Str" 13 13 [ "reverse" ... (MkStr . Str.reverse . unStr) 14 , "HOW" ... (const _StrClass)15 , "WHICH" ... id16 14 ] 17 15
