clash-lib-1.2.3: CAES Language for Synchronous Hardware - As a Library
Copyright(C) 2020 QBayLogic B.V.
LicenseBSD2 (see the file LICENSE)
MaintainerChristiaan Baaij <christiaan.baaij@gmail.com>
Safe HaskellNone
LanguageHaskell2010

Clash.Core.Evaluator.Types

Description

Types for the Partial Evaluator

Synopsis

Documentation

data Value Source #

Constructors

Lambda Id Term

Functions

TyLambda TyVar Term

Type abstractions

DC DataCon [Either Term Type]

Data constructors

Lit Literal

Literals

PrimVal PrimInfo [Type] [Value]

Clash's number types are represented by their "fromInteger#" primitive function. So some primitives are values.

Suspend Term

Used by lazy primitives

TickValue TickInfo Value

Preserve ticks from Terms in Values

CastValue Value Type Type

Preserve casts from Terms in Values

Instances

Instances details
Show Value Source # 
Instance details

Defined in Clash.Core.Evaluator.Types

Methods

showsPrec :: Int -> Value -> ShowS #

show :: Value -> String #

showList :: [Value] -> ShowS #

forcePrims :: Machine -> Bool Source #

Are we in a context where special primitives must be forced.

See [Note: forcing special primitives]