Basically, an RFC process for (twisty)puzzles/speedcubing. I've had plans for this one since a really long while, but the Regs got in the way.
Notation:
SiGN
Various puzzles
General "SiGN" template for new puzzles.
Specifies grammar for repetitions, inverses, grouping, commutators, conjugates.
Context-free (no macros!).
As self-delimiting as possible. This helps make white space as irrelevant as possible, and parsing more reliable for humans/computers. (But I expect we will always have to handle something like R 2L !== R2 L, since a lot of thinking has never led to something else that is flexible and concise in most situations.).
General JSON/recursive-object-oriented representation format of algs.
For example, python lists and dicts can handle the internal JSON representation from twisty.js with a trivial translation. Java/C++ could handle these with only a few definitions, but that requires handling weird things like (implicit and explicit) slice specifications for big puzzles.
Basically, an RFC process for (twisty)puzzles/speedcubing. I've had plans for this one since a really long while, but the Regs got in the way.
R 2L !== R2 L
, since a lot of thinking has never led to something else that is flexible and concise in most situations.).twisty.js
with a trivial translation. Java/C++ could handle these with only a few definitions, but that requires handling weird things like (implicit and explicit) slice specifications for big puzzles.