Changeset 15434 for src/Pugs/AST.hs
- Timestamp:
- 03/04/07 14:28:40 (21 months ago)
- Files:
-
- 1 modified
-
src/Pugs/AST.hs (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/AST.hs
r15425 r15434 40 40 import Pugs.AST.Pad 41 41 import Pugs.Val hiding (Val, Param, listVal) -- (val, castVal, formatVal, PureBit, PureBool, PureStr, PureInt, PureNum, Capt(..), ValCapt, Feed(..), ValFeed, emptyFeed, Sig(..), SigParam(..), ParamAccess(..), ParamDefault(..)) 42 import qualified Pugs.Val as Val 42 43 import Pugs.Meta () 44 import Pugs.Class 45 46 instance Value (Val.Val) where 47 fromVV = return 48 fromSV = return . mkVal 49 fromVal v = case v of 50 VV x@(MkInvocant x' _) -> case fromTypeable x' of 51 Just v -> fromVal v 52 _ -> return x 53 VUndef -> return . mkVal $ () 54 VBool x -> return . mkVal $ ((cast x) :: Val.PureBit) 55 VInt x -> return . mkVal $ ((cast x) :: Val.PureInt) 56 VNum x -> return . mkVal $ ((cast x) :: Val.PureNum) 57 VRat x -> return . mkVal $ ((cast x) :: Val.PureNum) 58 VStr x -> return . mkVal $ ((cast x) :: Val.PureStr) 59 PerlSV x -> return . mkVal $ x 60 _ -> return . mkVal $ v 61 doCast = fromVal 62 castV = VV 63 64 data OldValResponder = OldValResponder deriving Typeable 65 instance ResponderInterface Eval OldValResponder where 66 dispatch _ = dispatchOldVal 67 fromMethodList _ = return OldValResponder 68 toNameList _ = [] 69 70 instance Boxable Eval Val where 71 mkObj sv = MkInvocant sv (MkResponder (return OldValResponder)) 72 73 dispatchOldVal :: Val.Val -> Call -> Eval Val.Val 74 dispatchOldVal inv call = do 75 fail $ "Dispatch failed - " ++ show (miName call) 43 76 44 77 {-|
