Copyright | (C) 2021 QBayLogic B.V. |
---|---|
License | BSD2 (see the file LICENSE) |
Maintainer | QBayLogic B.V. <devops@qbaylogic.com> |
Safe Haskell | None |
Language | Haskell2010 |
Utility class to extract free variables from data which has variables.
Documentation
class HasFreeVars a where Source #
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.
Instances
HasFreeVars Type Source # | |
Defined in Clash.Core.HasFreeVars | |
HasFreeVars Term Source # | |
Defined in Clash.Core.HasFreeVars | |
(Foldable f, HasFreeVars a) => HasFreeVars (f a) Source # | |
Defined in Clash.Core.HasFreeVars |