SymSet
Module
signature SYM_SET
structure SymSet
:> SYM_SET
This module provides operations on finite sets of Forlan symbols, i.e., values of type
that are standard in the sense that they are compatible with Sym
.sym
Set
.set
Sym
.compare
. All values of type Sym.sym Set.set
will implicitly be assumed/required to be standard.
val memb : Sym.sym * Sym.sym Set.set -> bool
val fromList : Sym.sym list -> Sym.sym Set.set
val compare : Sym.sym Set.set Sort.total_ordering
val subset : Sym.sym Set.set * Sym.sym Set.set -> bool
val equal : Sym.sym Set.set * Sym.sym Set.set -> bool
val map : ('a -> Sym.sym) -> 'a Set.set -> Sym.sym Set.set
val mapFromList : ('a -> Sym.sym) -> 'a list -> Sym.sym Set.set
val union : Sym.sym Set.set * Sym.sym Set.set -> Sym.sym Set.set
val genUnion : Sym.sym Set.set list -> Sym.sym Set.set
val inter : Sym.sym Set.set * Sym.sym Set.set -> Sym.sym Set.set
val genInter : Sym.sym Set.set list -> Sym.sym Set.set
val minus : Sym.sym Set.set * Sym.sym Set.set -> Sym.sym Set.set
val inputFromLabToks : (int * Lex.tok) list -> Sym.sym Set.set * (int * Lex.tok) list
val fromString : string -> Sym.sym Set.set
val input : string -> Sym.sym Set.set
val toPP : Sym.sym Set.set -> PP.pp
val toString : Sym.sym Set.set -> string
val output : string * Sym.sym Set.set -> unit
memb(a, bs)
a
is a member of bs
.
fromList bs
bs
.
compare
Set
.compare
Sym
.compare
.
subset(bs, cs)
bs
is a subset of cs
.
equal(bs, cs)
bs
is equal to cs
.
map f xs
xs
is compatible with a value cmp
of type 'a Sort.total_ordering
, then map
returns the set of all symbols f x
such that x
is a member of xs
.
mapFromList f xs
f x
such that x
is a member of xs
.
union(bs, cs)
bs
and cs
.
genUnion bss
bss
.
inter(bs, cs)
bs
and cs
.
genInter bss
bss
. Issues an error message if bss
is empty.
minus(bs, cs)
bs
and cs
.
inputFromLabToks lts
lts
, consuming as much of lts
as possible, and returning the pair of the set of symbols and the rest of lts
. Issues an error message if it fails. Will only return the empty set if lts
doesn't begin with a symbol. If, after reading a symbol, the next element of the labeled token list is ","
(Lex
.Comma
), then inputFromLabToks
insists on reading another symbol, even if this results in failure.
fromString s
s
.
input fil
fil
.
toPP bs
bs
.
toString bs
bs
to a string.
output(fil, bs)
bs
to file fil
.
Forlan Version 4.15
Copyright © 2022 Alley Stoughton