| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Futhark.FreshNames
Description
This module provides facilities for generating unique names.
Synopsis
- newtype VNameSource = VNameSource Int
- blankNameSource :: VNameSource
- newNameSource :: Int -> VNameSource
- newName :: VNameSource -> VName -> (VName, VNameSource)
Documentation
newtype VNameSource Source #
A name source is conceptually an infinite sequence of names with no repeating entries. In practice, when asked for a name, the name source will return the name along with a new name source, which should then be used in place of the original.
The Ord instance is based on how many names have been extracted
from the name source.
Constructors
| VNameSource Int |
Instances
blankNameSource :: VNameSource Source #
A blank name source.
newNameSource :: Int -> VNameSource Source #
A new name source that starts counting from the given number.
newName :: VNameSource -> VName -> (VName, VNameSource) Source #
Produce a fresh name, using the given name as a template.