Safe Haskell | None |
---|
- data Mod = Mod [Ent]
- data Ent
- data Type
- data Expr
- data Prog
- data Param
- data Block = Bl [Def] Prog
- data Def
- data Var
- class Named a where
- class Interface t where
- type Repr t
- toInterface :: Repr t -> t
- fromInterface :: t -> Repr t
- toBlock :: Prog -> Block ()
- toProg :: Block () -> Prog
- boolToExpr :: Bool -> Expr
- setLength :: Expr -> Expr -> Prog
- copyProg :: Expr -> Expr -> Prog
- copyProgPos :: Expr -> Expr -> Expr -> Prog
- copyProgLen :: Expr -> Expr -> Expr -> Prog
- initArray :: Expr -> Expr -> Prog
- assignProg :: Expr -> Expr -> Prog
- freeArray :: Var -> Prog
- arrayLength :: Expr -> Expr
- iVarInit :: Expr -> Prog
- iVarGet :: Expr -> Expr -> Prog
- iVarPut :: Expr -> Expr -> Prog
- spawn :: String -> [Var] -> Prog
- run :: String -> [Var] -> Prog
- intWidth :: Type -> Maybe Integer
- intSigned :: Type -> Maybe Bool
- litB :: Bool -> Expr
- isArray :: Type -> Bool
- vType :: Var -> Type
- vName :: Var -> String
- lName :: Expr -> String
- varToExpr :: Var -> Expr
Frontend data types
Conversion between representation and frontend
toInterface :: Repr t -> tSource
fromInterface :: t -> Repr tSource
boolToExpr :: Bool -> ExprSource
assignProg :: Expr -> Expr -> ProgSource
arrayLength :: Expr -> ExprSource