clash-lib-1.9.0: Clash: a functional hardware description language - As a library
Copyright(C) 2021 QBayLogic B.V.
LicenseBSD2 (see the file LICENSE)
MaintainerQBayLogic B.V. <devops@qbaylogic.com>
Safe HaskellNone
LanguageHaskell2010

Clash.Core.HasFreeVars

Description

Utility class to extract free variables from data which has variables.

Documentation

class HasFreeVars a where Source #

Minimal complete definition

freeVarsOf

Methods

freeVarsOf :: a -> VarSet Source #

isClosed :: a -> Bool Source #

Something is closed if it has no free variables. This function may be replaced with a more efficient implementation.

elemFreeVars :: Var a -> a -> Bool Source #

Check if a variable is free in the given value. This function may be replaced with a more efficient implementation.

notElemFreeVars :: Var a -> a -> Bool Source #

Check if a variable is not free in the given value. This function may be replaced with a more efficient implementation.

subsetFreeVars :: VarSet -> a -> Bool Source #

Check if all variables in a set are free in the given value. This function may be replaced with a more efficient implementation.

disjointFreeVars :: VarSet -> a -> Bool Source #

Check if no variables in a set are free in the given value. This function may be replaced with a more efficient implementation.