Language.Atom.Expressions

# Types

data E a

data V a

data UE

data UV

data A a

data UA

class Expr a

data Expression

data Variable

data Type

data Const

class Width a

class TypeOf a

bytes

ue

uv

class NumE a

class IntegralE a

class FloatingE a

class EqE a

class OrdE a

# Constants

true

false

# Variable Reference and Assignment

value

# Logical Operations

not_

(&&.)

(||.)

and_

or_

any_

all_

imply

# Equality and Comparison

(==.)

(/=.)

(<.)

(<=.)

(>.)

(>=.)

min_

minimum_

max_

maximum_

limit

# Arithmetic Operations

div_

div0_

mod_

mod0_

# Conditional Operator

mux

# Array Indexing

(!)

(!.)

# Smart constructors for untyped expressions.

ubool

unot

uand

uor

ueq

umux