1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
module UHC.Light.Compiler.Core.SysF.AsTy
( Ty
, ty2TySysfWithEnv, ty2TyC
, ty2TyCforFFI )
where
import UHC.Light.Compiler.Base.Common
import UHC.Light.Compiler.Opts.Base
import UHC.Light.Compiler.Error
import qualified UHC.Light.Compiler.Core as C
import qualified UHC.Light.Compiler.Ty as T
import UHC.Light.Compiler.FinalEnv
{-# LINE 50 "src/ehc/Core/SysF/AsTy.chs" #-}
-- | The type, represented by a term CExpr
type Ty = C.SysfTy -- base ty
-- | Binding the bound
type TyBind = C.SysfTyBind
type TyBound = C.SysfTyBound
-- | A sequence of parameters (for now just a single type)
type TySeq = C.SysfTySeq
{-# LINE 67 "src/ehc/Core/SysF/AsTy.chs" #-}
ty2TySysfWithEnv :: ToSysfEnv -> T.Ty -> Ty
ty2TySysfWithEnv _ t = t
-- | Construct a type for use by AbstractCore
ty2TyC :: EHCOpts -> ToSysfEnv -> T.Ty -> C.CTy
ty2TyC o env t = C.mkCTy o t (ty2TySysfWithEnv env t)
{-# LINE 93 "src/ehc/Core/SysF/AsTy.chs" #-}
-- | Construct a type for use by AbstractCore, specifically for use by FFI
ty2TyCforFFI :: EHCOpts -> T.Ty -> C.CTy
ty2TyCforFFI o t = C.mkCTy o t t
|