pub const PURE: &str = "\"stream.spl\" import\n\n\"uses less native functions where possible\";\n\nfunc pop { | with _ ; }\n\nfunc dup { x x | with x ;\n x x\n}\n\nfunc swap { b a | with a b ;\n b a \n}\n\nfunc not { !x | with x ;\n 1\n x if { pop 0 }\n}\n\nfunc and { a&&b | with a b ;\n 0\n a if { b if { pop 1 } }\n}\n\nfunc or { a||b | with a b ;\n b\n a if { pop a }\n}\n\nfunc alit-end { array | with type ;\n def array 0 anew =array\n while { dup type eq not } {\n awrap array aadd =array\n }\n pop array\n}\n\nfunc read-file { str | with path ; \n def stream path 0 StreamTypes:file:create =stream\n 1024 stream:read-to-end:to-str\n}\n\nfunc acopy { array | with from to idxsrc idxdst len ;\n len:foreach<{ | with i ;\n i idxsrc + from:get i idxdst + to:set;\n }>\n to\n}\n";