Skip to content

Latest commit

 

History

History
36 lines (29 loc) · 1.51 KB

todo.md

File metadata and controls

36 lines (29 loc) · 1.51 KB

Proof still needed that the whole override/conditional system works out. In particular:

  1. Prove commutativity of overrides that don't conflict or supersede.
  2. Prove that configuration variables can have values provided in a way which never leads to paradox or ambiguity.

Future work in the language itself:

  1. Consider a fuller type system allowing for easy factoring out of common patterns like inventories and current/max items. This might go all the way to ADTs.
  2. Investigate restrictions on randomized variables to allow computation of things like "what are my legal placements?"
  3. Experiment with the language and ergonomics and see where improvements are needed, or if tweaks are needed for the more complex rule systems.
  4. Build out a standard library.
  5. The current logic is incapable of ensuring that, say, all items are accessible, in an ergonomic way. Create a way to do this (probably multiple victory conditions?)
  6. Properties to verify optimization properties, e.g. monotonic for variables.

Potential syntactic sugar/library functionality:

  1. Declarations of multiple of the same kind of thing quickly.
  2. Immediately modifying instances.
  3. If actions are too long, shortening them?
  4. Calculations where a player may break logic in such a way as to soft lock, requiring more subtlety (especially if a player may be required to use the same trick to get out.

Next steps:

  1. Rewrite the parser & samples to match the new language design
  2. Implement the language