signature DYNAMIC_COMMANDS = sig val followCommand : string -> unit val registerCommand : (string * (* name *) cwbModule * (* module owning this command *) (cwbProcessAlgebra * string * (unit -> unit))) (* entry is relevant PA, docstring, callback *) -> unit val registerCommands : cwbModule -> cwbProcessAlgebra -> (* (name, docstring, callback) list *) (string * string * (unit -> unit)) list -> unit (* first string is the alias, second is what it's an alias for. *) val registerAlias : (string * string) -> unit (* These are just for UI, though we're not enforcing that right now: *) val getHelpOn : string -> string (* will return "" if there's no help *) val currentProcessAlgebraString : unit -> string val setCurrentProcessAlgebra : cwbProcessAlgebra -> unit (* This is useful when building and rebuilding bits of the CWB: not *) (* intended for use by a CWB module, just by the compiling-developer! *) val forgetAllCommands: unit -> unit (* print out all the information in the current commands database: for *) (* debugging, no user interface at present. *) val allCommandsString : unit -> string end