Changeset 15396 for src/Pugs/Prim.hs

Show
Ignore:
Timestamp:
03/01/07 16:45:02 (21 months ago)
Author:
audreyt
Message:

* Pugs.AST.Internals - Remove circularity to Pugs.Meta

by moving toVV into Pugs.Prim. This means Pugs.Meta.*
edits won't trigger lengthy recompilation again.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Prim.hs

    r15371 r15396  
    3535import Pugs.Embed 
    3636import Pugs.Eval.Var 
     37import Pugs.Meta () 
     38import qualified Pugs.Val as Val 
    3739import qualified Data.Map as Map 
    3840import qualified Data.Set as Set 
     
    686688    str     <- fromVal =<< fetch "is" 
    687689    return str 
    688 op1 "vv" = toVV' 
     690op1 "vv" = \v -> case v of 
     691    VV{}        -> return v 
     692    VUndef      -> return . VV . Val.val $ () 
     693    VBool x     -> return . VV . Val.val $ ((cast x) :: Val.PureBit) 
     694    VInt x      -> return . VV . Val.val $ ((cast x) :: Val.PureInt) 
     695    VNum x      -> return . VV . Val.val $ ((cast x) :: Val.PureNum) 
     696    VRat x      -> return . VV . Val.val $ ((cast x) :: Val.PureNum) 
     697    VStr x      -> return . VV . Val.val $ ((cast x) :: Val.PureStr) 
     698    _           -> fail $ "don't know how to toVV: " ++ show v 
     699 
    689700op1 other   = \_ -> fail ("Unimplemented unaryOp: " ++ other) 
    690701