X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=c%CE%BBash%2FCLasH%2FUtils%2FCore%2FCoreTools.hs;h=e0a5c11187fc4c8b3f63f42192f859b11519a5da;hb=d2917e27bd318299f37102a4799787bf01322daf;hp=0c0e1fa7f60d88cd3914b9fcf1c3b20073c3a8ff;hpb=ec4378a8a765c5a064b5cbed347b40c353c778a0;p=matthijs%2Fmaster-project%2Fc%CE%BBash.git diff --git "a/c\316\273ash/CLasH/Utils/Core/CoreTools.hs" "b/c\316\273ash/CLasH/Utils/Core/CoreTools.hs" index 0c0e1fa..e0a5c11 100644 --- "a/c\316\273ash/CLasH/Utils/Core/CoreTools.hs" +++ "b/c\316\273ash/CLasH/Utils/Core/CoreTools.hs" @@ -2,7 +2,7 @@ -- programs. This module does not provide the actual plumbing to work with -- Core and Haskell (it uses HsTools for this), but only the functions that -- know about various libraries and know which functions to call. -module CoreTools where +module CLasH.Utils.Core.CoreTools where --Standard modules import qualified Maybe @@ -32,15 +32,15 @@ import qualified CoreFVs import qualified Literal -- Local imports -import GhcTools -import HsTools -import Pretty +import CLasH.Utils.GhcTools +import CLasH.Utils.HsTools +import CLasH.Utils.Pretty -- | Evaluate a core Type representing type level int from the tfp -- library to a real int. eval_tfp_int :: HscTypes.HscEnv -> Type.Type -> Int eval_tfp_int env ty = - unsafeRunGhc $ do + unsafeRunGhc libdir $ do GHC.setSession env -- Automatically import modules for any fully qualified identifiers setDynFlag DynFlags.Opt_ImplicitImportQualified @@ -52,7 +52,10 @@ eval_tfp_int env ty = let int_ty = SrcLoc.noLoc $ HsTypes.HsTyVar TysWiredIn.intTyCon_RDR let expr = HsExpr.ExprWithTySig app int_ty core <- toCore expr - execCore core + execCore core + where + libdir = DynFlags.topDir dynflags + dynflags = HscTypes.hsc_dflags env normalise_tfp_int :: HscTypes.HscEnv -> Type.Type -> Type.Type normalise_tfp_int env ty =