addGrammaticalRestrictions

fun addGrammaticalRestrictions(parentAtoms: A_Set, illegalArgumentMessages: A_Tuple)

The modularity scheme should prevent all inter-modular method conflicts. Precedence is specified as an array of message sets that are not allowed to be messages generating the arguments of this message. For example, <{"_+_"}, {"_+_", "_*_"}> for the "_*_" operator makes * bind tighter than +, and also groups multiple *'s left-to-right.

Note that we don't have to prevent L2 code from running, since the grammatical restrictions only affect parsing. We still have to latch access to the grammatical restrictions to avoid read/write conflicts.

Parameters

parentAtoms

An A_Set of A_Atoms that name the message bundles that are to have their arguments constrained.

illegalArgumentMessages

The A_Tuple of A_Sets of A_Atoms that name methods.

Throws

If one of the specified names is inappropriate as a method name.

If one of the specified names is inappropriate as a method name.