// Shows the derivation of the generalized matrix inner product in // terms of the outer product of enclosed arrays proc main() { var a = [[1,2],[5,4],[3,0]]; var b = [[6,2,3,4],[7,0,1,8]]; var aa, bb, c, d; aa = a.enclose(-1); bb = b.enclose(0); c = aa.outer(`*,bb); "", c, '\n'; d = foreach (c#[i]) {c#[i].disclose().reduce(`+)}; "", d, " ", a.inner(`+,`*,b),'\n'; }