06:58
I'm considering to make it significant whether an option appears before or after the stage-indicating upper case letter. If it appears in front it's a generic option that is available for all stages, and if it appears afterwards, it's an option that applies only to the given stage type.
So far I've ensured to avoid any clashes between option characters, even if they only apply to a specific stage.
8 hours later…
15:08
If anyone's interested or wants to make further suggestions this is the current (probably incomplete) roadmap for 1.0:
Retina 1.0 Roadmap [x] Make interpreter work with arbitrary streams to stub I/O and make entire programs testable. [x] Add test suites for currently untested stage types, as well as some features like groups and loops. [x] Refactor to make more use of compound stages for options that interact with one another. [x] Unify stage semantics (bisection into matches and non-matches, first limit, @ and $ options, maybe ^ and & options) [x] Add option to switch input string with regex. [x] Add capabilities to work with non-matches and adjacent matches/non-matches in substitutions.
I think there'll just be a single random flag that does something sensible for the various stages. activating it on sort will shuffle. activating it on match will either give a random subset of the matches or include each match with a 50% probability, not sure yet. transliterate will randomly pick which of the matched characters will be transliterated and so on.
« first day (363 days earlier) ← previous day next day → last day (678 days later) »