Excellent idea! Please test it in the latest Alpha version:http://www.nars2000.org/download/binaries/alpha/
and review the documentation in Dilate
The implementation of ≤R
will have to wait for a while. The "last coordinate" versions were already done in ⎕DC
; the "first coordinate" versions will take rather more work. In the meantime, you'll have to do the transposes yourself as in ≤R ←→ ⍉<⍉R
and ≥R ←→ ⍉>⍉R
Also, character conversions will have to wait. First we need to support one- and four-byte characters as well as the full two-byte characters. At the moment we support UCS-2 which is fixed width UTF-16 without the high and low surrogates in U+D800 to U+DFFF. The whole set of Unicode character encodings include UTF-8, UTF-16, and UTF-32 where the latter two also have LE (Little Endian) and BE (Big Endian) variants -- that's five character conversions alone.
BTW, excellent choice of names! I'm a stickler for good names which is why I (unsuccessfully) argued with Dyalog against calling the Left and Right Tack functions "Left" and "Right" (I call them "Lev" and "Dex"). Among other things, I think it's important to use a name which is unlikely to be confused with normal usage of regular words. A good example is "Catenate" which (as I've been told) was originally to be called "Concatenate" but when the designers (namers?) looked up Concatenate they were led to its synonym Catenate, and since that word was both accurate and unfamiliar (and APL is a minimal language), it was chosen.
For example, alternative names for those functions include Combine and Separate, but those are too easily confused with their normal usage. Your choices have just the right blend of accuracy with unfamiliarity, not to mention that they also are listed as antonyms in my various dictionaries. What sources did you use to come up with those names, or did they just come to out of the blue?