Agda-2.5.2: A dependently typed functional programming language and proof assistant

Safe Haskell | Safe
Language | Haskell2010

Agda.Compiler.UHC.Bridge

Description

Exports the UHC API, and provides dummy definitions if the backend is disabled.

# Documentation

uhcBackendEnabled :: Bool #

type PP_Doc = String #

putPPFile :: String -> PP_Doc -> Int -> IO () #

disp :: PP_Doc -> Int -> ShowS #

pp :: PP a => a -> PP_Doc #

class Serialize a #

Instances

Serialize CExpr # |
Serialize CModule # |
Serialize CTag # |
Serialize HsName # |

putSerializeFile :: FilePath -> a -> IO () #

serialize :: x -> Put #

unserialize :: Get x #

data EHCOpts #

defaultEHCOpts :: EHCOpts #

data HsName #

Instances

Eq HsName # |
Methods (==) :: HsName -> HsName -> Bool # (/=) :: HsName -> HsName -> Bool #
Ord HsName # |
Methods compare :: HsName -> HsName -> Ordering # (<) :: HsName -> HsName -> Bool # (<=) :: HsName -> HsName -> Bool # (>) :: HsName -> HsName -> Bool # (>=) :: HsName -> HsName -> Bool # max :: HsName -> HsName -> HsName # min :: HsName -> HsName -> HsName #
Show HsName # |
Methods showsPrec :: Int -> HsName -> ShowS # show :: HsName -> String # showList :: [HsName] -> ShowS #
Serialize HsName # |

data CTag #

Instances

Eq CTag # |
Methods (==) :: CTag -> CTag -> Bool # (/=) :: CTag -> CTag -> Bool #
Ord CTag # |
Methods compare :: CTag -> CTag -> Ordering # (<) :: CTag -> CTag -> Bool # (<=) :: CTag -> CTag -> Bool # (>) :: CTag -> CTag -> Bool # (>=) :: CTag -> CTag -> Bool # max :: CTag -> CTag -> CTag # min :: CTag -> CTag -> CTag #
Show CTag # |
Methods showsPrec :: Int -> CTag -> ShowS # show :: CTag -> String # showList :: [CTag] -> ShowS #
Serialize CTag # |

mkHsName :: [String] -> String -> HsName #

mkHsName1 :: String -> HsName #

mkUniqueHsName :: String -> [String] -> String -> HsName #

data CModule #

Instances

Serialize CModule # |

data CImport #

data CExport #

data CDeclMeta #

data CDataCon #

data CExpr #

Instances

Eq CExpr # |
Methods (==) :: CExpr -> CExpr -> Bool # (/=) :: CExpr -> CExpr -> Bool #
Ord CExpr # |
Methods compare :: CExpr -> CExpr -> Ordering # (<) :: CExpr -> CExpr -> Bool # (<=) :: CExpr -> CExpr -> Bool # (>) :: CExpr -> CExpr -> Bool # (>=) :: CExpr -> CExpr -> Bool # max :: CExpr -> CExpr -> CExpr # min :: CExpr -> CExpr -> CExpr #
Show CExpr # |
Methods showsPrec :: Int -> CExpr -> ShowS # show :: CExpr -> String # showList :: [CExpr] -> ShowS #
Serialize CExpr # |

data CBind #

data CAlt #

data CPat #

data CPatFld #

mkUnit :: EHCOpts -> CExpr #

mkInt :: EHCOpts -> Int -> CExpr #

mkInteger :: EHCOpts -> Integer -> CExpr #

mkChar :: Char -> CExpr #

mkString :: EHCOpts -> String -> CExpr #

mkError :: EHCOpts -> String -> CExpr #

mkUndefined :: EHCOpts -> CExpr #

mkVar :: HsName -> CExpr #

mkLet1Plain :: HsName -> CExpr -> CExpr -> CExpr #

mkLet1Strict :: HsName -> CExpr -> CExpr -> CExpr #

mkLetRec :: [CBind] -> CExpr -> CExpr #

mkLam :: [HsName] -> CExpr -> CExpr #

mkApp :: CExpr -> [CExpr] -> CExpr #

mkBind1 :: HsName -> CExpr -> CBind #

mkBind1Nm1 :: HsName -> CBind #

mkCTag :: HsName -> HsName -> Int -> Int -> CTag #

destructCTag :: a -> (HsName -> HsName -> Int -> Int -> a) -> CTag -> a #

ctagUnit :: CTag #

ctagTrue :: EHCOpts -> CTag #

ctagFalse :: EHCOpts -> CTag #

ctagCons :: EHCOpts -> CTag #

ctagNil :: EHCOpts -> CTag #

mkCase :: CExpr -> [CAlt] -> CExpr #

mkAlt :: CPat -> CExpr -> CAlt #

mkPatCon :: CTag -> CPatRest -> [CPatFld] -> CPat #

mkPatRestEmpty :: CPatRest #

mkPatFldBind :: (HsName, CExpr) -> CBind -> CPatFld #

mkTagTup :: CTag -> [CExpr] -> CExpr #

mkModule :: HsName -> [CExport] -> [CImport] -> [CDeclMeta] -> CExpr -> CModule #

mkImport :: HsName -> CImport #

mkExport :: HsName -> CExport #

mkMetaData :: HsName -> [CDataCon] -> CDeclMeta #

mkMetaDataCon :: HsName -> Int -> Int -> CDataCon #

mkMetaDataConFromCTag :: CTag -> Maybe CDataCon #

mkMain :: HsName -> CExpr #

parseExpr :: EHCOpts -> String -> Either [String] CExpr #

printModule :: EHCOpts -> CModule -> PP_Doc #