@article{oai:ipsj.ixsq.nii.ac.jp:00016989, author = {太田, 誠 and 岩井, 輝男 and 中西, 正和 and Makoto, Ohta and Teruo, Iwai and Masakazu, Nakanishi}, issue = {SIG07(PRO4)}, journal = {情報処理学会論文誌プログラミング(PRO)}, month = {Aug}, note = {Linear Lispは Lisp処理系の中の1つで すべてのセルの参照を行うのは1回のみという制約を持っている.この特徴により一般のLisp処理系で必要とされるガーベッジコレクション(GC)のための操作が必要ないという利点を持っている.また 参照回数の制約のため セルを複数回参照する場合は明示的に複写を行い 参照しない場合はそのセルを明示的に消去しなければならない.このため Linear Lispは従来のLispの処理系と比較して 効率が低下することが報告されている.このことから Linear Lispの効率を向上させるために セルの複写をリファレンスカウントを操作することにより 実際のセルの複写をなくす手法の研究がある.ところが このシステムでは リストに対する複写が起きた場合は そのリストのすべてのセルのリファレンスカウントを増やさなければならない.このため リファレンスカウントの無駄な操作が増加し 従来の手法と比較して効率を上げることはできなかった.我々は リストの複写を行う時にはそのポインタに直接参照されているセルのみのリファレンスカウントを増やすLazyリファレンスカウント方式を提案する.本手法を用いた場合と 従来のLinear Lispやリファレンスカウント方式のLinear Lispとの比較を行い 結果を報告する., Linear Lisp is a style of Lisp that limits to once access to cells. For this feature, Linear Lisp have no need of general garbage collection (CG) that general Lisp system needs. And because of this access restriction, when the cell is had access repeatedly, the cell must be copied explicitly, and when the cell is not needed, the cell must be explicitly delete. But it was reported that Linear Lisp is slower than usual Lisp system. To improve the efficiency of Linear Lisp, we use the reference count of the cell instead of duplicating the cell. When the list is duplicated, the reference count of all the cells that constitute the list must be increased. And this causes the useless reference count updating, it can't improve the efficiency. We propose the method of using lazy reference count. When the list is duplicated in case of this method the reference count of only cell that is directly pointed to the pointer is increased. We implement this method, experiment, and report a comparison between Linear Lisp with this lazy reference count, normal Linear Lisp, and Linear Lisp with normal reference count.}, pages = {89--89}, title = {Lazy Reference Count を用いた Linear Lisp}, volume = {40}, year = {1999} }