packages feed

visual-graphrewrite-0.3: GraphRewrite/Internal/DeltaFunctions.hs

module GraphRewrite.Internal.DeltaFunctions
where

data Prec
    = Infixr Int
    | Prefix

deltaNames :: [(Prec, String)]
deltaNames = [(Infixr 5, "++"), (Infixr 5, ":")] ++ map p ["div", "mod", "eqInt", "not", "Cons", "Nil", "succ", "True", "False", "sin", "[]"]  where

    p s = (Prefix, s)

evalDelta :: String -> [String] -> String
evalDelta "sin" [x] = show $ sin $ (read x :: Double)
evalDelta "True" [] = "True"
evalDelta "False" [] = "False"
evalDelta "succ" [n] = show $ (read n) + (1 :: Int)