for backwards compatibility provide both (mk/un)Int and (mk/un)Integer

This commit is contained in:
Krasimir Angelov
2026-09-15 09:11:58 +02:00
parent 4e80f9eceb
commit 628c2ae9c6
2 changed files with 19 additions and 6 deletions
+1
View File
@@ -38,6 +38,7 @@ module PGF2 (-- * PGF
mkVar, unVar,
mkStr, unStr,
mkInt, unInt,
mkInteger,unInteger,
mkDouble, unDouble,
mkFloat, unFloat,
mkMeta, unMeta,
+18 -6
View File
@@ -9,6 +9,7 @@ module PGF2.Expr(Var, Cat, Fun,
mkVar, unVar,
mkStr, unStr,
mkInt, unInt,
mkInteger,unInteger,
mkDouble, unDouble,
mkFloat, unFloat,
mkMeta, unMeta,
@@ -133,17 +134,28 @@ unStr (ETyped e ty) = unStr e
unStr (EImplArg e) = unStr e
unStr _ = Nothing
-- | Constructs an expression from integer literal
mkInt :: Integer -> Expr
mkInt i = ELit (LInt i)
-- | Constructs an expression from an int literal
mkInt :: Int -> Expr
mkInt i = ELit (LInt (fromIntegral i))
-- | Decomposes an expression into integer literal
unInt :: Expr -> Maybe Integer
unInt (ELit (LInt i)) = Just i
-- | Decomposes an expression into an int literal
unInt :: Expr -> Maybe Int
unInt (ELit (LInt i)) = Just (fromIntegral i)
unInt (ETyped e ty) = unInt e
unInt (EImplArg e) = unInt e
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
mkDouble :: Double -> Expr
mkDouble f = ELit (LFlt f)