PostScript でクロージャ
歪 : PostScriptでクロージャ を改竄して、
- 辞書のもっと深いところにある変数も参照する
- エラーが起こったときに辞書を片付ける
ようにしてみた。
/closure{ [ countdictstack array dictstack [ exch{ dup systemdict eq{ cleartomark mark systemdict }if }forall ] { begin }/forall cvx counttomark 2 add -1 roll /stopped cvx 4 index length{ end }/repeat cvx { stop }/if cvx ]cvx }def
/make-ax+b{ 1 dict begin /b exch def 1 dict begin /a exch def { a mul b add }closure end end }def /ax+b 10 3 make-ax+b def 10 ax+b = % 103 を表示