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.
Synopsis
- 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
Instances
Functor Border Source # | |
Foldable Border Source # | |
Defined in Language.Embedded.Imperative.CMD fold :: Monoid m => Border m -> m # foldMap :: Monoid m => (a -> m) -> Border a -> m # foldMap' :: Monoid m => (a -> m) -> Border a -> m # foldr :: (a -> b -> b) -> b -> Border a -> b # foldr' :: (a -> b -> b) -> b -> Border a -> b # foldl :: (b -> a -> b) -> b -> Border a -> b # foldl' :: (b -> a -> b) -> b -> Border a -> b # foldr1 :: (a -> a -> a) -> Border a -> a # foldl1 :: (a -> a -> a) -> Border a -> a # elem :: Eq a => a -> Border a -> Bool # maximum :: Ord a => Border a -> a # minimum :: Ord a => Border a -> a # | |
Traversable Border Source # | |
Eq i => Eq (Border i) Source # | |
Num i => Num (Border i) Source # |
|
Show i => Show (Border i) Source # | |
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
Instances
Formattable Double Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Formattable Float Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Formattable Int Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Formattable Int8 Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Formattable Int16 Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Formattable Int32 Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Formattable Int64 Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Formattable Word Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Formattable Word8 Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Formattable Word16 Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Formattable Word32 Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Formattable Word64 Source # | |
Defined in Language.Embedded.Imperative.CMD |
Pointer
Abstract object
class ToIdent obj => Assignable obj Source #
Instances
Assignable Object Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Assignable (Ptr a) Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Assignable (Ref a) Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Assignable (IArr i a) Source # | |
Defined in Language.Embedded.Imperative.CMD | |
Assignable (Arr i a) Source # | |
Defined in Language.Embedded.Imperative.CMD |
data Definition #
Instances
cedecl :: QuasiQuoter #