[/] [trunk/] [src/] [lib/] [symbol.sig] - Rev 62
(* $Id: symbol.sig 62 2008-08-20 11:20:33Z tbourke $
*
* Copyright (c) 2008 Timothy Bourke (University of NSW and NICTA)
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the "BSD License" which is distributed with the
* software in the file LICENSE.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the BSD
* License for more details.
*
* Shortcuts over Atom and AtomSet.
* infix <+ <- ++ <\ \ =:= (*`*); open Symbol
*)
signature SYMBOL = sig
type symbol = Atom.atom
type symbolset = AtomSet.set
val emptyset : symbolset
val <+ : symbolset * symbol -> symbolset (* add *)
val <- : symbol * symbolset -> bool (* member *)
val ++ : symbolset * symbolset -> symbolset (* union *)
val <\ : symbolset * symbol -> symbolset (* difference *)
val \ : symbolset * symbolset -> symbolset (* difference *)
val =:= : symbol * symbol -> bool (* equality *)
val ` : string -> symbol (* atom *)
val getNewName : symbol * symbolset -> symbol
end