clash-lib-1.8.4: Clash: a functional hardware description language - As a library

Copyright | (C) 2020-2021 QBayLogic B.V.
License | BSD2 (see the file LICENSE)
Maintainer | QBayLogic B.V. <devops@qbaylogic.com>
Safe Haskell | None
Language | Haskell2010

Clash.Core.PartialEval.AsTerm

Description

The AsTerm class and relevant instances for the partial evaluator. This defines how to convert normal forms back into Terms which can be given as the result of evaluation.

Synopsis

- class AsTerm a where
  - asTerm :: a -> Term

# Documentation

class AsTerm a where Source #

Convert a term in some normal form back into a Term. This is important, as it may perform substitutions which have not yet been performed (i.e. when converting from WHNF where heads contain the environment at that point).

Methods

asTerm :: a -> Term Source #

#### Instances

Instances details

AsTerm Normal Source # |
Instance details Defined in Clash.Core.PartialEval.AsTerm Methods asTerm :: Normal -> Term Source #
AsTerm Value Source # |
Instance details Defined in Clash.Core.PartialEval.AsTerm Methods asTerm :: Value -> Term Source #
AsTerm a => AsTerm (Neutral a) Source # |
Instance details Defined in Clash.Core.PartialEval.AsTerm Methods asTerm :: Neutral a -> Term Source #