X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FcoreSyn%2FMkCore.lhs;fp=compiler%2FcoreSyn%2FMkCore.lhs;h=0844a0a8ccee79724607463221907d8000e4bfb4;hp=b930f880e18690ca51f40f5814ac00147eb27b9f;hb=393f26621b762225b204b3dc78b05a3ecf08871e;hpb=2e06595241350a6548b6ab6430c65d6458f7c197 diff --git a/compiler/coreSyn/MkCore.lhs b/compiler/coreSyn/MkCore.lhs index b930f88..0844a0a 100644 --- a/compiler/coreSyn/MkCore.lhs +++ b/compiler/coreSyn/MkCore.lhs @@ -7,8 +7,9 @@ module MkCore ( mkCoreLams, -- * Constructing boxed literals - mkWordExpr, - mkIntExpr, mkIntegerExpr, + mkWordExpr, mkWordExprWord, + mkIntExpr, mkIntExprInt, + mkIntegerExpr, mkFloatExpr, mkDoubleExpr, mkCharExpr, mkStringExpr, mkStringExprFS, @@ -216,12 +217,20 @@ mkCoreLams = mkLams \begin{code} -- | Create a 'CoreExpr' which will evaluate to the given @Int@ -mkIntExpr :: Int -> CoreExpr -- Result = I# i :: Int -mkIntExpr i = mkConApp intDataCon [mkIntLitInt i] +mkIntExpr :: Integer -> CoreExpr -- Result = I# i :: Int +mkIntExpr i = mkConApp intDataCon [mkIntLit i] + +-- | Create a 'CoreExpr' which will evaluate to the given @Int@ +mkIntExprInt :: Int -> CoreExpr -- Result = I# i :: Int +mkIntExprInt i = mkConApp intDataCon [mkIntLitInt i] + +-- | Create a 'CoreExpr' which will evaluate to the a @Word@ with the given value +mkWordExpr :: Integer -> CoreExpr +mkWordExpr w = mkConApp wordDataCon [mkWordLit w] -- | Create a 'CoreExpr' which will evaluate to the given @Word@ -mkWordExpr :: Word -> CoreExpr -mkWordExpr w = mkConApp wordDataCon [mkWordLitWord w] +mkWordExprWord :: Word -> CoreExpr +mkWordExprWord w = mkConApp wordDataCon [mkWordLitWord w] -- | Create a 'CoreExpr' which will evaluate to the given @Integer@ mkIntegerExpr :: MonadThings m => Integer -> m CoreExpr -- Result :: Integer