now the meta id of the meta variables is accessible via the PGF API

This commit is contained in:
krasimir
2010-07-31 12:52:20 +00:00
parent b351c9d9dd
commit 067d908aa3
2 changed files with 9 additions and 9 deletions

View File

@@ -47,7 +47,7 @@ module PGF(
mkStr, unStr, mkStr, unStr,
mkInt, unInt, mkInt, unInt,
mkDouble, unDouble, mkDouble, unDouble,
mkMeta, isMeta, mkMeta, unMeta,
-- * Operations -- * Operations
-- ** Linearization -- ** Linearization

View File

@@ -5,7 +5,7 @@ module PGF.Expr(Tree, BindType(..), Expr(..), Literal(..), Patt(..), Equation(..
mkStr, unStr, mkStr, unStr,
mkInt, unInt, mkInt, unInt,
mkDouble, unDouble, mkDouble, unDouble,
mkMeta, isMeta, mkMeta, unMeta,
normalForm, normalForm,
@@ -144,15 +144,15 @@ unDouble (EImplArg e) = unDouble e
unDouble _ = Nothing unDouble _ = Nothing
-- | Constructs an expression which is meta variable -- | Constructs an expression which is meta variable
mkMeta :: Expr mkMeta :: Int -> Expr
mkMeta = EMeta 0 mkMeta i = EMeta i
-- | Checks whether an expression is a meta variable -- | Checks whether an expression is a meta variable
isMeta :: Expr -> Bool unMeta :: Expr -> Maybe Int
isMeta (EMeta _) = True unMeta (EMeta i) = Just i
isMeta (ETyped e ty) = isMeta e unMeta (ETyped e ty) = unMeta e
isMeta (EImplArg e) = isMeta e unMeta (EImplArg e) = unMeta e
isMeta _ = False unMeta _ = Nothing
----------------------------------------------------- -----------------------------------------------------
-- Parsing -- Parsing