The 10,000 foot[/meter] view of the (>) and its cousin (>{}) is that they are essentially a syntax-checked version of the [:parse] / :parse, since both interact with the "code" datatype.
:put (>[])
(evl /)
But on the specifics here.... I'm not sure the (>[]) does anything special for a $split. There are MANY way to split a string... so complex, undocumented (>[]) syntax would NOT be the best approach.
Further, referencing local variables from inside on the "op" type is just asking for trouble, i.e. referencing out-of-scope locals is not allowed elsewhere, so arguable if even @rextended's code is just using what "bug". Philosophically functions should not have side-effects like touching out-of-scope variables. Now I guess view the (>) as the "functional programming" operators, so anyone who knows LISP or Haskell that sees this would be aghast.
That being said if you really wanted to try use these new operators in a $split ... you're current code does not deal with splitting a string MULTIPLE times, which a typical $split function might do. While I don't know exactly off top-of-my-head, you MIGHT be able to construct some version use the "activate-in-context" ( ... < %% {} ) with [:convert to=byte-array] to access string as array — but I'm not sure that code be very readable or even shorter.
Main thread: A few undocumented operators that are kind of neat. A few undocumented operators that are kind of neat.
Also u discussed[/u] in: Persistent Environment Variables Persistent Environment Variables
u used as "inline function"[/u]: $INQUIRE - prompt user for input using arrays +$CHOICES +$QKEYS $INQUIRE - prompt user for input using arrays +$CHOICES +$QKEYS
The related( ... < %% {}) used in few places here:
example of automating VLAN creation/removal/inspecting using $mkvlan & friends... 🧐 example of automating VLAN creation/removal/inspecting using $mkvlan & friends...
IMO (>) best "use case" is to enable functions in array declaration as inline functions.
:local newarray {"var1"="data";"var2"=2;"fn1"=(>[:return something])}
vs.
:local newarray [:toarray ""]
:set ($newarray->"var1") "data"
:set ($newarray->"var2") 2
:set ($newarray->"fn1") do={:return "something"}
And don't forget there the is (>{}) syntax too, which adds another twist:
:put (>{1+1})
(+ 1 1)
:put [(>{1+1})]
2
All this gets complex since the underlying "evl" / code type is not documented. Now the (>) etc allow another method to inject code into the final "evl"/code type that is what's executed, but predicting exactly what might happen take more time - and risky if you violating basic scripting rules like local vars setting out-of-scope local vars that could change in next releases.