code generation, executable specifications, geometry, semantic parsing, sequence-to-sequence model, specification language, synthetic data, type checking.