タグ

LISPに関するwikisurfingのブックマーク (1)

  • メタプログラミング - Wikipedia

    メタプログラミング (英語: metaprogramming) [注釈 1]とはプログラミング技法の一種で、一般に「プログラムを記述するプログラム」を書くこと、またはそのプログラムを指す[1]。対象言語に埋め込まれたマクロ言語によって行われることもある。 一般に、スクリプト言語はメタプログラミングが得意だとされている。コンパイル型言語は実行前にソースコードを一括で変換するという特性上、翻訳と実行を繰り返すスクリプト言語よりも実行時の割り込みや変換の自由度が低い[2]。 代表的なメタプログラミングの例はLispのマクロである。Lispはデータ、コードが全てS式で表現されるが、マクロによりS式が言語処理系に解釈される前に別なS式へと変換することができる。これにより例えば、 という記述から 構造体定義 point型 コンストラクタ make-point (省略時の初期値は0, 0) アクセサ p

  • 1