Generic Programming with C++ Template
■ このスレッドは過去ログ倉庫に格納されています
0170デフォルトの名無しさん
NGNGβ変換がβ簡約とも言われるのは適用されるたびにλ項が解消されて減っていくから。
(ある種のλ式ではβ変換を有限回適用することで簡約順序に関わらずそれ以上簡約できない
「標準形」になることがわかっている。無限回簡約できるようなλ式、
またその中でも評価順序によっては有限回でそれ以上簡約できなくなるようなλ式もある。)
α変換は名前の付け替え変換だから式の形自身は変わらないので、
無限回繰り返すこともできるが、
同一視することによって無視する(α合同関係)ことが多い。
というわけで、α簡約とはやっぱりあまり言わないかも。
まー、マクロ展開にせよテンプレートの展開にせよ
単純なλ計算そのものではない。
例えば、プリプロセサマクロの名前付け替えは、
付け替え後の名前が付け替え対象の名前になるような関係による
循環を避ければ有限回で終了する。
それでも敢えて喩えて言えば、
プリプロセッサのマクロ展開だからα変換とも限らず、
引数つきマクロなどはβ変換といってもいいかもしれない。
■ このスレッドは過去ログ倉庫に格納されています