ジェネリック変数(generalized variable: 汎変数)またはplace
formはsetf
マクロ(setf
マクロを参照)を使用して値が格納される、Lispメモリー内の多くの場所のうちの1つです。一番シンプルなplace
formは通常のLisp変数です。しかしリストのCARとCDR、配列の要素、シンボルのプロパティ、その他多くのロケーション(location)もLisp値が格納される場所です。
ジェネリック変数は、C言語のlvalues(左辺値)と類似しています。C言語のlvalueでは‘x =
a[i]’で配列から要素を取得し、同じ表記を使用して‘a[i] =
x’で要素を格納します。Cではa[i]
のような特定のフォームがlvalueになれるように、Lispでジェネリック変数になることができる一連のフォームが存在します。