Module Symbols


module Symbols: sig .. end
Symbols extends the alphabet to include an empty and universal symbol. A module of SYMBOL_TYPE can be made by invoking Symbols.Make on a module of type SYMBOL_SEED. Modules of SYMBOL_TYPE are of X.X_TYPE (a Tools module) but add empty and universal symbols. Thus, the Symbols Module represents a small extension of X.X_TYPE (and modules of type SYMBOL_SEED require a couple extra functions). The extensions are included because they may be needed when the symbol in the finite state acceptor is a feature bundle as opposed to an alphabetic unit. Note that modules of SYMBOL_TYPE are modules of X.X_TYPE

author: Jeff Heinz last updated : July 16,2008


module type SYMBOL_SEED = sig .. end
The input signature to Symbols.Make.
module type SYMBOL_TYPE = sig .. end
The output signature of Symbols.Make.
module Make: 
functor (X : SYMBOL_SEED) -> SYMBOL_TYPE with type x = X.t
The functor takes as an argument modules of type SYMBOL_SEED and returns a module of SYMBOL_TYPE.