多段プログラミング(MSP )は、コンパイルを一連の中間段階に分割し、型安全な実行時コード生成を可能にするメタプログラミングの一種です。[1] 静的に定義された型は、動的に構築された型が有効であり、型システムに違反していないことを検証するために使用されます。
MSP言語では、式は評価される段階を指定する記法によって修飾されます。実行時にプログラムを特殊化することで、MSPはプログラムのパフォーマンスを最適化できます。これは、実行時の処理速度を向上させるためのトレードオフとして、コンパイル時に計算を実行する部分評価の一種と考えることができます。 [2]
多段プログラミング言語は、Lispの引用符とに似た構造をサポートしていますが、スコープルールが考慮されるeval点が異なります。 [2]