« first day (363 days earlier)      last day (678 days later) » 

6:58 AM
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.
The only issue I'm seeing is that replace stages would require an otherwise superfluous R to delimit stage-specific options, but I don't think R even has any of those at the moment.
I guess the bigger problem is a trailing match stage which does have a bunch of specific options and would then need the extra M to specify them.
 
 
8 hours later…
3:08 PM
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.
4
 
@MartinEnder how exactly is randomness going to be added to the stage types?
 
appropriately :P
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)      last day (678 days later) »