The Pliant programming language is based on a dynamic compiler, which makes it act like it is interpreted. The default syntax is almost trivial, and based on indentation, so it is an off-side rule language. It is reflective: Pliant programs can modify the parser, compiler, code generator, and code optimizer.