Show
Ignore:
Timestamp:
08/20/06 17:05:14 (2 years ago)
Author:
audreyt
Message:

* op2Numeric: slightly clean up syntax; no functional changes.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Prim/Numeric.hs

    r10616 r12522  
    1414op2Numeric :: (forall a. (Num a) => a -> a -> a) -> Val -> Val -> Eval Val 
    1515op2Numeric f x y 
     16    | VInt x' <- x, VInt y' <- y  = return $ VInt $ f x' y' 
     17    | VRat x' <- x, VRat y' <- y  = return $ VRat $ f x' y' 
     18    | VRat x' <- x, VInt y' <- y  = return $ VRat $ f x' (y' % 1) 
     19    | VInt x' <- x, VRat y' <- y  = return $ VRat $ f (x' % 1) y' 
    1620    | VUndef <- x = op2Numeric f (VInt 0) y 
    1721    | VUndef <- y = op2Numeric f x (VInt 0) 
    1822    | VType{} <- x = op2Numeric f (VInt 0) y 
    1923    | VType{} <- y = op2Numeric f x (VInt 0) 
    20     | (VInt x', VInt y') <- (x, y)  = return $ VInt $ f x' y' 
    21     | (VRat x', VInt y') <- (x, y)  = return $ VRat $ f x' (y' % 1) 
    22     | (VInt x', VRat y') <- (x, y)  = return $ VRat $ f (x' % 1) y' 
    23     | (VRat x', VRat y') <- (x, y)  = return $ VRat $ f x' y' 
    2424    | VRef r <- x = do 
    2525        x' <- readRef r