🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.lisp
Article #155

Re: MS-DOS $BF0:n2DG=$J(J LISP$B$rC5$7$F$$$^$9!#(J

#155
From: Erio YOSHIDA
Date: Sun, 29 Mar 1998 00:00
46 lines
2571 bytes
"Seiji Mizumoto" <ayanami0@kt.rim.or.jp> writes:

> 水本@リムネットです。
> 
> > > (defun p () (p))
> > P
> > > (p)
> > error: evaluation stack overflow
> 
> 上記の記述でFreeBSDの世界でもスタックオーバーフローを起こすのですか...
> ためしに、MS-DOSの世界のLISPでも発生します。

上記の記述では、LISP インタープリータなら、
Stack Overflow を起こすというのが、LISP の仕様でしょう。
#コンパイラにかけると、静かに無限ループに陥ってしまうかもしれない。

> 再帰関数の処理については、Stack Overflowは付き物なのでしょうか?

再帰関数のエラーで一番多いのは、 
再帰終了条件が成立しないために、
Stack Overflowがおきるエラーです。
その意味では、Stack Overflowは付き物です。

> 勉強中の自分ですが、LISPのプログラムコーティングでは、ループ処理を行う場合
> 、
> 再帰処理を行うのが奇麗なコーティングだと思っているのですが、この場合、
> プログラムのループ処理等の使用には(DO (....)) とかのループ処理を行う関数を
> 用いた方が良いのでしょうか?  u-n?!

ループからの脱出条件に問題がなく、
繰り返し回数が多い場合には、
ループ処理用 マクロを用いた方がいいでしょう。

> ちなみに、(DO(...))を用いて同等の処理を行った場合は、問題有りませんでした。
> 色々と難しいですと思い日々勉強です。
> 
> 
> この話とは別になりますが、
> 
> 	(setq  xx  '(  A1  A2  A3  A4   .....))
> 
> でxxのリスト(?)のA1/A2/A3......の値をA1をB1/A2をB2/A3をB3に置き換えを行う
> 場合についてどの様に行えば良いのでしょうか?(イメージは通常の配列処理です)

何をしたいのか、よく理解できないので、何ともコメントできません。
Technical Details
Message-ID: <87ra3muzio.fsf@ku.erio.iijnet.or.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <01bd54e2$66a25a60$ba8bf7ca@melchior><KURODA.98Mar24111012@msi.co.jp> <01bd58d1$4b2ad7b0$438bf7ca@melchior> <KURODA.98Mar27134124@msi.co.jp> <01bd599f$6612eb70$618bf7ca@melchior>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 1421c0,f4eac1decc4bb3d1
X-Google-Attributes: gid1421c0,public
From: Erio YOSHIDA <erio@ku.erio.iijnet.or.jp>
Subject: Re: MS-DOS $BF0:n2DG=$J(J LISP$B$rC5$7$F$$$^$9!#(J
Date: 1998/03/29
Message-ID: <87ra3muzio.fsf@ku.erio.iijnet.or.jp>
X-Deja-AN: 338892844
References: <01bd54e2$66a25a60$ba8bf7ca@melchior><KURODA.98Mar24111012@msi.co.jp> <01bd58d1$4b2ad7b0$438bf7ca@melchior> <KURODA.98Mar27134124@msi.co.jp> <01bd599f$6612eb70$618bf7ca@melchior>
Content-Type: text/plain; charset=ISO-2022-JP
X-Complaints-To: ap-net@asahi-net.or.jp
X-Trace: neptune.asahi-net.or.jp 891199459 149622 (None) 210.155.192.108
Organization: YOSHIDA Erio (Hokkaido,Japan)
Mime-Version: 1.0 (generated by tm-edit 7.106)
Newsgroups: fj.lang.lisp