ehird
public text v1 · immutable$_ = "[] "+<>;
my $q = /\[((?:(?:R)|[^ \[\]]+)*)\]/;
my $w = /([^ ]+)/;
my $e = /$q|$w/;
s/\s+/ /g;
{
print;print "\n";
s/$w dei/$1 [$1]/g;
s/$q wrap/[[$1]]/ and redo;
s/$e drop// and redo;
s/$e $e swap/$2 $1/ and redo;
s/$q i/$1/ and redo;
s/$q $q compose/[$1 $2]/ and redo;
}