mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-09-19 08:46:02 -06:00
for backwards compatibility provide both (mk/un)Int and (mk/un)Integer
This commit is contained in:
@@ -38,6 +38,7 @@ module PGF2 (-- * PGF
|
|||||||
mkVar, unVar,
|
mkVar, unVar,
|
||||||
mkStr, unStr,
|
mkStr, unStr,
|
||||||
mkInt, unInt,
|
mkInt, unInt,
|
||||||
|
mkInteger,unInteger,
|
||||||
mkDouble, unDouble,
|
mkDouble, unDouble,
|
||||||
mkFloat, unFloat,
|
mkFloat, unFloat,
|
||||||
mkMeta, unMeta,
|
mkMeta, unMeta,
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ module PGF2.Expr(Var, Cat, Fun,
|
|||||||
mkVar, unVar,
|
mkVar, unVar,
|
||||||
mkStr, unStr,
|
mkStr, unStr,
|
||||||
mkInt, unInt,
|
mkInt, unInt,
|
||||||
|
mkInteger,unInteger,
|
||||||
mkDouble, unDouble,
|
mkDouble, unDouble,
|
||||||
mkFloat, unFloat,
|
mkFloat, unFloat,
|
||||||
mkMeta, unMeta,
|
mkMeta, unMeta,
|
||||||
@@ -133,17 +134,28 @@ unStr (ETyped e ty) = unStr e
|
|||||||
unStr (EImplArg e) = unStr e
|
unStr (EImplArg e) = unStr e
|
||||||
unStr _ = Nothing
|
unStr _ = Nothing
|
||||||
|
|
||||||
-- | Constructs an expression from integer literal
|
-- | Constructs an expression from an int literal
|
||||||
mkInt :: Integer -> Expr
|
mkInt :: Int -> Expr
|
||||||
mkInt i = ELit (LInt i)
|
mkInt i = ELit (LInt (fromIntegral i))
|
||||||
|
|
||||||
-- | Decomposes an expression into integer literal
|
-- | Decomposes an expression into an int literal
|
||||||
unInt :: Expr -> Maybe Integer
|
unInt :: Expr -> Maybe Int
|
||||||
unInt (ELit (LInt i)) = Just i
|
unInt (ELit (LInt i)) = Just (fromIntegral i)
|
||||||
unInt (ETyped e ty) = unInt e
|
unInt (ETyped e ty) = unInt e
|
||||||
unInt (EImplArg e) = unInt e
|
unInt (EImplArg e) = unInt e
|
||||||
unInt _ = Nothing
|
unInt _ = Nothing
|
||||||
|
|
||||||
|
-- | Constructs an expression from integer literal
|
||||||
|
mkInteger :: Integer -> Expr
|
||||||
|
mkInteger i = ELit (LInt i)
|
||||||
|
|
||||||
|
-- | Decomposes an expression into integer literal
|
||||||
|
unInteger :: Expr -> Maybe Integer
|
||||||
|
unInteger (ELit (LInt i)) = Just i
|
||||||
|
unInteger (ETyped e ty) = unInteger e
|
||||||
|
unInteger (EImplArg e) = unInteger e
|
||||||
|
unInteger _ = Nothing
|
||||||
|
|
||||||
-- | Constructs an expression from real number literal
|
-- | Constructs an expression from real number literal
|
||||||
mkDouble :: Double -> Expr
|
mkDouble :: Double -> Expr
|
||||||
mkDouble f = ELit (LFlt f)
|
mkDouble f = ELit (LFlt f)
|
||||||
|
|||||||
Reference in New Issue
Block a user