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

Copyright | (C) 2012-2016 University of Twente 2016-2017 Myrtle Software Ltd 2017-2018 Google Inc. 2021 QBayLogic B.V.
License | BSD2 (see the file LICENSE)
Maintainer | QBayLogic B.V. <devops@qbaylogic.com>
Safe Haskell | Safe-Inferred
Language | Haskell2010

Clash.Normalize.Transformations.ANF

Description

Transformations for converting to A-Normal Form.

Synopsis

- makeANF :: HasCallStack => NormRewrite
- nonRepANF :: HasCallStack => NormRewrite

# Documentation

makeANF :: HasCallStack => NormRewrite Source #

Turn an expression into a modified ANF-form. As opposed to standard ANF, constants do not become let-bound.

nonRepANF :: HasCallStack => NormRewrite Source #

Bring an application of a DataCon or Primitive in ANF, when the argument is is considered non-representable