Il y a peut-être des idées à prendre au langage D en matière de programmation statique, notamment pour Scool (pour plus tard) :
http://www.digitalmars.com/d/templates-revisited.html
Je n'ai parcouru cette page que brièvement, mais des bouts de code comme
template factorial(int n) { static if (n == 1) const factorial = 1; else const factorial = n * factorial!(n-1); }
ou
void test() { typedef int fp(int);
assert( is(fp == function) ); }
font fichtrement penser à des constructions de Scool !