with respect to apl ...
index origin 0
arrays can be rectangular, e.g. m:2 3#!6
but also ragged, e.g. (0 1 2;3 4 5 6)
bracket indexing the same, e.g. m[;0]:3 4
list operations are all on leading axis.
integer operations(+-*) are modulo 2^32
user defined functions are nouns - not verbs.
e.g. f:{x+y};f,f
user defined functions can have any number of arguments.
e.g. {x+y+z}[1;2;3]
function call and indexing use the same syntax.
K /(OVER) and \(SCAN) are multi-valent recurrences.
They are first to last(O(n)) and use functions of any valence.
They are the same as APL for dyadic associative functions. (+*&|=)
non-associative
APL K
-\x +\x*(#x)#1 -1 alternating sum
%\x *\x^(#x)#1 -1 alternating product
<\x x?1