Also implements related introspection functions, i.e., $SetReplaceSystems, EventSelectionParameters, EventOrderingFunctions and StoppingConditionParameters.
Also implements package-scope declareMultihistoryGenerator used to specify the kinds of event selections, orderings, and stopping conditions a system supports. GenerateMultihistory then does most of the arguments checking itself (although it is possible to throw and generate messages from the specific implementations).
Comments
I did not write documentation yet, because it seems silly to write descriptions of things like event selection and token deduplication without having any examples to show. I will write documentation for both generators and MultisetSubstitutionSystem once both are merged.
Examples
Declare a generator. Here, Infinity and 0 are the defaults, and "NonNegativeIntegerOrInfinity" enables automatic checking and is, in addition to None, is the only one supported at the moment (it is, by far, the most common).
Changes
GenerateMultihistory
function.$SetReplaceSystems
,EventSelectionParameters
,EventOrderingFunctions
andStoppingConditionParameters
.declareMultihistoryGenerator
used to specify the kinds of event selections, orderings, and stopping conditions a system supports.GenerateMultihistory
then does most of the arguments checking itself (although it is possible to throw and generate messages from the specific implementations).Comments
MultisetSubstitutionSystem
once both are merged.Examples
Infinity
and0
are the defaults, and"NonNegativeIntegerOrInfinity"
enables automatic checking and is, in addition toNone
, is the only one supported at the moment (it is, by far, the most common).GenerateMultihistory
automatically inserted the missing parameters. The first argument is passed unchanged:generateMultisetMultihistory
:This change is