There is a lot of interesting stuff here. I may have more comments in
the future but for now I want to just point out a few things.
On 10/13/19 2:19 PM, Jason Cobb wrote:
The clear solution to these problems was to machine-parse the ruleset.
There are two obvious ways to parse the ruleset - clone the ruleset
repository and parse the individual files and just parsing the
single-file SLR. I went with parsing the SLR. I'd love to be able to say
that this was because of some heavily thought-out technical
consideration, but I just didn't even think about parsing the individual
files, and parsing the SLR was pretty easy, since it follows a pretty
simple format. [Note: as of now, I have no intention of trying to
machine-parse the FLR, although it probably wouldn't be that hard.]
This made me laugh a little bit. For anyone interested in parsing the
rules individually, the rules are stored by ID in YAML format under the
`rules` directory of the ruleset repository and the `config/index` file
contains the list of categories and rules used to generate the rulesets.
Generating a ruleset as described in the README creates a new folder,
`meta`, where generated rule text is stored.
2.4 Circular dependencies
In most places, circular dependencies are a generally bad thing. I know
this to be a fact in software - where circular dependencies cause all
kinds of issues.
In software, different links in the chain of a dependency circle are
generally created and maintained by different people with no
communication with each other. I argue that, while circular dependencies
in Agora are certainly messy, the ruleset is centralized. This creates a
situation where circular dependencies are much less concerning of an
issue. Generally, if a player is writing a major change, e will search
for clauses that may be affected by the change and make the necessary
changes to those rules. There's much less opportunity for breaking here.
A1. Appendix 1: Graphs > A2. Appendix 2: Other attachments
A.3 Appendix 3: Code
I really appreciate these appendices and submit that the Agoran public
take them into account while considering which degree to give the H.
Jason Cobb.
--
Trigon