Random issues: Are we happy with the 0.9a java array proposal ? Templates should allow integer arguments (like arrays/points/etc). But, proposed restriction: an integer argument to a template should be: a) declared in the template def b) restricted to either: - an explicit constant (and not a constant expression) - an integer template argument Prevents horrible things like: template class fact { static final int value = n > 0 ? n * fact<(n > 0 ? n - 1 : 0)>.value : 1; } i.e.: template class fact<0> { static final int value = 0 > 0 ? 0 * fact<(0 > 0 ? 0 - 1 : 0)>.value : 1; } -> template class fact<0> { static final int value = 0 > 0 ? 0 * fact<0>.value : 1; } -> template class fact<0> { static final int value = 1; } Note: operator overloading for vector operations will have the same performance problems it has in C++ ... We don't have a stride method on domains. We should have (it can return 1 for dimensions over which stride is undefined). The language reference gets pretty incomprehensible when it tries to describe accrete, shrink, border. It needs some figures. The example expansion of accrete(D, k, S) is wrong/incomplete (it presumably also does directions -1 through -N) The description of Point.direction(k, x) must be wrong (presumably Point.direction(-1, x) = [ -x, 0, ... 0 ], which is not what the doc says). (Negative directions are unituitive, but that's unavoidable with 0 as our base). Directions should be ranging from -N to N-1. Point / int should round towards -inf, like it does on Domains. Need "point in domain" operation.