Mushrat Goals
Mushrat language/tool explicit goals:
-
Best-in-class opening/reading/writing files
-
Best-in-class file searching (think Ripgrep and The Silver Searcher (and Ack))
-
Best-in-class string manipulation
-
Golf-friendly (language terse, very fast to enter)
-
Able to navigate colossal text or binary files without issue
-
Ultra-fast (interpreter fits in CPU cache as a goal? consider JIT?)
-
Self-learning environment (via context help, TUI "visuals", etc.) - see also microworlds
-
Version 1.0 would be stable and have ONE definition - so no AWK/sed implementation difference nightmares
-
Version 2.0 would be 100% backward compatible (warts and all) with 1.0, etc. - no Python 2 vs 3 nightmares
For "best-in-class" above: mushrat-best
Examples:
-
Find/replace on HUGE text files
-
Loop through records (like AWK) to extract data, but the language supports more than just one level of loop support!
-
Common (but strangely difficult) text manipulation tasks like stripping ANSI escape codes made both simple and easy
Non-Goals
-
Resembling anything any human has ever seen before
-
Pleasing "the man"