futhark-0.21.13: An optimising compiler for a functional, array-oriented language.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.Futhark.FreeVars

Description

Facilities for computing free term variables in various syntactic constructs.

Synopsis

Documentation

freeInExp :: ExpBase Info VName -> FV Source #

Compute the set of free variables of an expression.

freeInPat :: PatBase Info VName -> Set VName Source #

Free variables in pattern (including types of the bound identifiers).

freeInType :: TypeBase Size as -> Set VName Source #

Free variables in the type (meaning those that are used in size expression).

freeWithout :: FV -> Set VName -> FV Source #

Set subtraction. Do not consider those variables as free.

newtype FV Source #

A set of names where we also track their type.

Constructors

FV 

Instances

Instances details
Show FV Source # 
Instance details

Defined in Language.Futhark.FreeVars

Methods

showsPrec :: Int -> FV -> ShowS #

show :: FV -> String #

showList :: [FV] -> ShowS #

Semigroup FV Source # 
Instance details

Defined in Language.Futhark.FreeVars

Methods

(<>) :: FV -> FV -> FV #

sconcat :: NonEmpty FV -> FV #

stimes :: Integral b => b -> FV -> FV #

Monoid FV Source # 
Instance details

Defined in Language.Futhark.FreeVars

Methods

mempty :: FV #

mappend :: FV -> FV -> FV #

mconcat :: [FV] -> FV #