Compile-time programming