ddc-core-flow-0.3.2.1: Disciplined Disciple Compiler data flow compiler.

Safe HaskellNone

DDC.Core.Flow.Compounds

Contents

Description

Short-hands for constructing compound expressions.

Synopsis

Documentation

Fragment specific kinds

Fragment specific types

Primtiive types

tVoid :: Type NameSource

Primitive `Void#` type.

tBool :: Type NameSource

Primitive `Bool#` type.

tNat :: Type NameSource

Primitive Nat# type.

tInt :: Type NameSource

Primitive `Int#` type.

tWord :: Int -> Type NameSource

Primitive `WordN#` type of the given width.

Primitive literals and data constructors

xBool :: Bool -> Exp a NameSource

A literal Bool#

dcBool :: Bool -> DaCon NameSource

A literal Bool# data constructor.

xNat :: Integer -> Exp a NameSource

A literal Nat#

dcNat :: Integer -> DaCon NameSource

A Literal Nat# data constructor.

dcTuple1 :: DaCon NameSource

Data constructor for Tuple1#

xTuple2 :: Type Name -> Type Name -> Exp a Name -> Exp a Name -> Exp a NameSource

Construct a Tuple2#

dcTuple2 :: DaCon NameSource

Data constructor for Tuple2#

dcTupleN :: Int -> DaCon NameSource

Data constructor for n-tuples

Flow operators

Loop operators

xLoopGuardSource

Arguments

:: Exp () Name

Reference to guard counter.

-> Exp () Name

Boolean flag to test.

-> Exp () Name

Body of guard.

-> Exp () Name 

Store operators

xWrite :: Type Name -> Exp () Name -> Exp () Name -> Exp () NameSource

xWriteVector :: Type Name -> Exp () Name -> Exp () Name -> Exp () Name -> Exp () NameSource

xNext :: Type Name -> Type Name -> Exp () Name -> Exp () Name -> Exp () NameSource