// simple array parsing (insufficient for execution) / predicates N:{~Z[x]|V[x]|A x} / are nouns Z:{(f'x)_lin,"\000"} / are blanks V:{x _lin"~!@#$%^&*-_=+|:<,>.?"} / are verbs A:{(f'x)_lin"/\\'"} / are adverbs Q:"\""= / are quotes C:{(4::'x)_lin 3 -3} / are characters / transformation rules v:{s/[x;&V[x]&~|/-1!'(A;V;Z)@\:x]} / vn <- nv a:{s/[t;&-1!N[x]&1!A t:s/[x;&A[x]&-1!V x]]} / av <- va, abv <- bva s:{@[x;y-1 0;:;x y-0 1]} / yzx <- xyz / execution and nesting f:(*:)/ / first atom l:(*|:)/ / last atom m:{j[x]C[x]&N x} / multichar c:{h[x]A x} / reverse enclose adverb trains q:{g[x]Q[x]|(~=)\Q x} / enclose quotations k:{(-1!k)|k: