;|;=====================================================================
vlr-manager, vlr-family, vlr-object, vlr-object-p, vlr-syntax
Written by: Eric Schneider, Reno, NV
cadking@aol.com
10-11-01
With special thanks to:
R. Robert Bell
|;;=====================================================================
;;;constructs and unloads reactors and ensures that reactors will not be loaded more than once
;;;syntax: (VLR-MANAGER 'reactor mode)
;;;usage: (VLR-MANAGER '(VLR-Command-Reactor nil '((:VLR-commandWillStart . TEST))) 1)
;;;arguments:
;;;c - quoted typical reactor construction syntax
;;;m - mode, intiger 0-3, additive values of 1 and 2 (bits 0 and 1)
;;;m = 0 tests for the presence of a matching reactor
;;;m = 1 removes all matching reactor constructs
;;;m = 2 constructs "reactor" unless it already exists
;;;m = 3 does both of the above to prevent double loading the same reactor
;;;variables:
;;;l = list of matching reactor objects
;;;v = value to return
;;;return value: the VLR object if a reactor was created, T if reactor was removed, else nil

;;;retrieves the VLR object(s) matching the quoted reactor construct
;;;usage: (VLR-OBJECT '(VLR-Command-Reactor nil '((:VLR-commandWillStart . TEST))))
;;;arg: r = a quoted reactor construct
;;;returns a list of all matching VLR objects

;;;tests if object is a VLR object
;;;usage: (VLR-OBJECT-P reactorObject)
;;;arg: r = symbol bound to a reactor object
;;;returns T if it is VLR object, else nil

;;;checks reactor family of a VLR object
;;;usage: (VLR-FAMILY reactorObject)
;;;arg: r = symbol bound to a reactor object
;;;returns family of VLR object

;;;usage: (VLR-SYNTAX reactorObject)
;;;arg: r = symbol bound to a reactor object
;;;returns original reactor construction syntax from a reactor object
