imperative-edsl-0.4.1: Deep embedding of imperative programs with code generation

Safe HaskellNone
LanguageHaskell2010

Language.Embedded.Imperative.Frontend.General

Description

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

Documentation

data Ref a Source

Mutable reference

Instances

ToIdent (Ref a) Source

Identifiers from references

data Arr n a Source

Mutable array

Instances

ToIdent (Arr i a) Source

Identifiers from arrays

data Handle Source

File handle

Instances

ToIdent Handle Source

Identifiers from handles

stdin :: Handle Source

Handle to stdin

stdout :: Handle Source

Handle to stdout

data Object Source

Instances

data FunArg exp where Source

Constructors

FunArg :: Arg arg => arg exp -> FunArg exp 

Instances