| 
														
															@@ -12,6 +12,9 @@ nil udf                   / special, nil and undefined 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 'a'%2                     / = nan, nan used to denote illegal numeric operation 
														 | 
														
														 | 
														
															 'a'%2                     / = nan, nan used to denote illegal numeric operation 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 +1 2 3                    / = udf, attempt to transpose flat vector, udf/undefined used to denote illegal operation 
														 | 
														
														 | 
														
															 +1 2 3                    / = udf, attempt to transpose flat vector, udf/undefined used to denote illegal operation 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 5 5.5 -5 42               / number (double-precision floats) 
														 | 
														
														 | 
														
															 5 5.5 -5 42               / number (double-precision floats) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+1`000 1`000`000           / 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+.5 .429                   / 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+0xff 0o4 0b0101           / 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 nan inf                   / 
														 | 
														
														 | 
														
															 nan inf                   / 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 'a' 'b' 'g'               / chars (bytes) 
														 | 
														
														 | 
														
															 'a' 'b' 'g'               / chars (bytes) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 4t.0                      / 0 NUL byte 
														 | 
														
														 | 
														
															 4t.0                      / 0 NUL byte 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -49,6 +52,7 @@ f 5                       / = -5 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 :  monadic const         create a function that always yields x 
														 | 
														
														 | 
														
															 :  monadic const         create a function that always yields x 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 :  dyadic  bind          bind y to symbol x 
														 | 
														
														 | 
														
															 :  dyadic  bind          bind y to symbol x 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+:: monadic unbind        unbind symbol x 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 :: dyadic  obverse       insert inverse for x 
														 | 
														
														 | 
														
															 :: dyadic  obverse       insert inverse for x 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 +  monadic flip          transpose matrix 
														 | 
														
														 | 
														
															 +  monadic flip          transpose matrix 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 +  dyadic  plus          add numbers 
														 | 
														
														 | 
														
															 +  dyadic  plus          add numbers 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -105,7 +109,8 @@ f 5                       / = -5 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 >: dyadic  nudgeright    shift elts of y to the right filling gap with x 
														 | 
														
														 | 
														
															 >: dyadic  nudgeright    shift elts of y to the right filling gap with x 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 ,  monadic enlist        put x into 1-elt array 
														 | 
														
														 | 
														
															 ,  monadic enlist        put x into 1-elt array 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 ,  dyadic  join          concat x and y 
														 | 
														
														 | 
														
															 ,  dyadic  join          concat x and y 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-,. monadic enfile        ame as , enlist but with infinite rank, ,.1 2 3 is (,1),:(,2),:(,3) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+,. monadic enfile        same as , enlist but with infinite rank, ,.1 2 3 is (,1),:(,2),:(,3) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+,. dyadic  enpair        put x and y into 2-elt array 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #  monadic count         yield count of elts of x 
														 | 
														
														 | 
														
															 #  monadic count         yield count of elts of x 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #  dyadic  take          take x first elts of y (or last if x < 0) 
														 | 
														
														 | 
														
															 #  dyadic  take          take x first elts of y (or last if x < 0) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #. monadic where         #.0 0 1 0 1 0 is 2 4 
														 | 
														
														 | 
														
															 #. monadic where         #.0 0 1 0 1 0 is 2 4 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -131,7 +136,8 @@ _: dyadic  base          10_:4242 is 4 2 4 2 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 @  monadic abs           |x| 
														 | 
														
														 | 
														
															 @  monadic abs           |x| 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 @  dyadic  at            pick elts from x by indices from y 
														 | 
														
														 | 
														
															 @  dyadic  at            pick elts from x by indices from y 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 @. monadic shuffle       shuffle elts of x 
														 | 
														
														 | 
														
															 @. monadic shuffle       shuffle elts of x 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-@. dyadicn member        check whether x is in y 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+@. dyadic  member        check whether x is in y 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+@: dyadic  indexof       yield index of x in y or #y if x not in y 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 {  monadic head          first two elts of x, same as 2# 
														 | 
														
														 | 
														
															 {  monadic head          first two elts of x, same as 2# 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 {  dyadic  bin           bin search, e.g. 1 3 5 7 9{8 9 0 yields 3 4 -1 
														 | 
														
														 | 
														
															 {  dyadic  bin           bin search, e.g. 1 3 5 7 9{8 9 0 yields 3 4 -1 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 {. monadic tail          last elt of x 
														 | 
														
														 | 
														
															 {. monadic tail          last elt of x 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -179,42 +185,44 @@ i. monadic import        load and eval source file 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 y. monadic system        exec system command (yields output) 
														 | 
														
														 | 
														
															 y. monadic system        exec system command (yields output) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 y. dyadic  system2       exec system command with input 
														 | 
														
														 | 
														
															 y. dyadic  system2       exec system command with input 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 E. monadic exit          exit with exit code 
														 | 
														
														 | 
														
															 E. monadic exit          exit with exit code 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+L. dyadic  tackleft      prepend x to y 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+R. dyadic  tackright     append x to y 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f"       each          >"1 2 3 yields 2 3 4 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-xf"      merge         1 2 3,"a b c yields (1,.a),:(2,.b),:(3,.c) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f".      eachprior     -".1 2 2 3 5 6 yields 1 0 1 2 1 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-xf".     eachpriorwith 0-".1 2 2 3 5 6 yields 1 1 0 1 2 1 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f/       fold          +/1 2 3 yields 6 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-xf/      foldwith      1+/1 2 3 yields 7 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f\       scan          +\1 2 3 yields 1 3 6 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-xf\      scanwith      1+\1 2 3 yields 1 2 4 7 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f/.      converge      1;_/.1 2 3 yields () 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f\.      converges     1;_\.1 2 3 yields 1 2 3,:2 3,:(,3),:() 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-xf/.     eachright     1-/.1 2 3 yields 0 1 2 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-xf\.     eachleft      1-\.1 2 3 yields 0 -1 -2 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f":      rank          #":1 2 3$1 yields 3 3, #":inf 2 3$1 yields 1 1 1,:1 1 1 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-xf":     rank          1 2 3 *:":1 1 2 3 yields (,1),:2 2,:3 3 3 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-n`       amend         'gw'0 3`'cross' yields 'grows' 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f&.      filter        >;0&.-2!.2 yields 1 2, basically shortcut for ]#.f 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f/:      span          =;' '/:'x y z' yields (,'x'),:(,'y'),:(,'z') 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-xf/:     stencil       3+//:!10 yields 3 6 9 12 15 18 21 24, shortcut for f"x|: 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f;.      reflex        *;.5 yields 25, 5%;.2 yields 0.4 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f"         each          >"1 2 3 yields 2 3 4 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+xf"        merge         1 2 3,"a b c yields (1,.a),:(2,.b),:(3,.c) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f".        eachprior     -".1 2 2 3 5 6 yields 1 0 1 2 1 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+xf".       eachpriorwith 0-".1 2 2 3 5 6 yields 1 1 0 1 2 1 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f/         fold          +/1 2 3 yields 6 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+xf/        foldwith      1+/1 2 3 yields 7 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f\         scan          +\1 2 3 yields 1 3 6 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+xf\        scanwith      1+\1 2 3 yields 1 2 4 7 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f/.        converge      1;_/.1 2 3 yields () 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f\.        converges     1;_\.1 2 3 yields 1 2 3,:2 3,:(,3),:() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+xf/.       eachright     1-/.1 2 3 yields 0 1 2 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+xf\.       eachleft      1-\.1 2 3 yields 0 -1 -2 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f":        rank          #":1 2 3$1 yields 3 3, #":inf 2 3$1 yields 1 1 1,:1 1 1 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+xf":       rank2         1 2 3 *:":1 1 2 3 yields (,1),:2 2,:3 3 3 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+n`         amend         'gw'0 3`'cross' yields 'grows' 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f&.        filter        >;0&.-2!.2 yields 1 2, basically shortcut for ]#.f 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f/:        span          =;' '/:'x y z' yields (,'x'),:(,'y'),:(,'z') 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+xf/:       stencil       3+//:!10 yields 3 6 9 12 15 18 21 24, shortcut for f"x|: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f;.        reflex        *;.5 yields 25, 5%;.2 yields 0.4 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f;g      bond      */;!.5 yields 120, +;1 5 yields 6, 5;- 1 yields 4 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f?.x     pick      >;5?.((2*),:<)"3 6 yields 6 5 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f?:F     while     <;5?:>0 yields 5 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-n?:f     repeat    5?:*;2 1 yields 32 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f&:F     if        1+&:+2 yields 2 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f;:F     monaddyad -;:+5 yields -5, 1-;:+5 yields 6 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f;g        bond          */;!.5 yields 120, +;1 5 yields 6, 5;- 1 yields 4 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f?.x       pick          >;5?.((2*),:<)"3 6 yields 6 5 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f?:F       while         <;5?:>0 yields 5 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+n?:f       repeat        5?:*;2 1 yields 32 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f&:F       if            1+&:+2 yields 2 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f;:F       monaddyad     -;:+5 yields -5, 1-;:+5 yields 6 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 inverse of a function f is a function ~f that undoes the effect of f 
														 | 
														
														 | 
														
															 inverse of a function f is a function ~f that undoes the effect of f 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 f::~f  obverse  define inverse ~f for f 
														 | 
														
														 | 
														
															 f::~f  obverse  define inverse ~f for f 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f-:x   inverse  ~fx 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-xf-:y  inverse  (~fx)~f~fx 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-f^:Fx  under    ~FfFx 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-xf^:Fx under    ~F(Fx)f(Fx) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f-:x       inverse       ~fx 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+xf-:y      inverse2      (~fx)~f~fx 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+f^:Fx      under         ~FfFx 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+xf^:Fx     under2        ~F(Fx)f(Fx) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 ``` 
														 | 
														
														 | 
														
															 ``` 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 # Prebuilt binaries 
														 | 
														
														 | 
														
															 # Prebuilt binaries 
														 |