Safe Haskell | None |
---|---|
Language | Haskell2010 |
Exports the general parts of imperative front ends. The motivation for this module is to support making specialized front ends (e.g. like Language.Embedded.Imperative.Frontend but for a specific instruction set). These exports are the parts of the front end that are independent of the instruction set and/or expression language.
- data Ref a
- data Arr i a
- data IArr i a
- data Border i
- type IxRange i = (i, Int, Border i)
- class ToIdent a => IsPointer a
- data IOMode :: *
- data Handle
- stdin :: Handle
- stdout :: Handle
- data PrintfArg exp
- class (Typeable a, Read a, PrintfArg a) => Formattable a
- data Ptr a
- data Object
- data FunArg exp pred where
- class ToIdent obj => Assignable obj
- data Definition :: *
- cedecl :: QuasiQuoter
Documentation
Mutable reference
Mutable array
Immutable array
type IxRange i = (i, Int, Border i) Source #
Index range
(lo,step,hi)
lo
gives the start index; step
gives the step length; hi
gives the stop
index which may be inclusive or exclusive.
See openFile
class (Typeable a, Read a, PrintfArg a) => Formattable a Source #
Values that can be printed/scanned using printf
/scanf
Pointer
Abstract object
data FunArg exp pred where Source #
ValArg :: pred a => exp a -> FunArg exp pred | |
AddrArg :: FunArg exp pred -> FunArg exp pred | |
DerefArg :: FunArg exp pred -> FunArg exp pred | |
OffsetArg :: FunArg exp pred -> exp i -> FunArg exp pred | |
FunArg :: Arg arg pred => arg pred -> FunArg exp pred |
(CompExp exp, CompTypeClass ct) => Arg (* -> Constraint) (FunArg * exp) ct Source # | |
class ToIdent obj => Assignable obj Source #
Assignable Object Source # | |
Assignable (Ptr a) Source # | |
Assignable (Ref a) Source # | |
Assignable (IArr i a) Source # | |
Assignable (Arr i a) Source # | |
data Definition :: * #
cedecl :: QuasiQuoter #