NameSet

# Names set type

type NameSet

## Manipulating these sets

emptyNameSet

unitNameSet

mkNameSet

unionNameSets

unionManyNameSets

minusNameSet

elemNameSet

nameSetToList

addOneToNameSet

addListToNameSet

delFromNameSet

delListFromNameSet

isEmptyNameSet

foldNameSet

filterNameSet

intersectsNameSet

intersectNameSet

# Free variables

type FreeVars

## Manipulating sets of free variables

isEmptyFVs

emptyFVs

plusFVs

plusFV

mkFVs

addOneFV

unitFV

delFV

delFVs

# Defs and uses

type Defs

type Uses

type DefUse

type DefUses

## Manipulating defs and uses

emptyDUs

usesOnly

mkDUs

plusDU

findUses

duDefs

duUses

allUses