🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.editor.emacs
Article #406

Re: [Q] various questions

#406
From: Hideki Kato
Date: Thu, 25 Feb 1999 00:00
69 lines
3305 bytes
加藤@ODNです.ちょっと書き方が乱暴でしたね.

KURODA Hisao wrote:
> kate@pfu.co.jp (KATAYAMA Yoshio) writes:
> 
> > (setq a '(defun foo ()
> >          (let ((foobar '(a)))
> >            foobar)))
> > (eval a)
> > (rplacd (foo) 'b)
> >
> > をおこなうと、a の値は、
> >
> > (defun foo nil (let ((foobar (quote (a . b)))) foobar))
> >
> > になりますから、(eval a) では戻りません。
> 
> なるほど。そういう意味ですか。ありがとうございます。

そういう意味です.要するに「rplacd の副作用に注意してね」という
意味で書きました.補足ありがとうございます>片山さん.

> しかしながらわたしの元記事で、
> 
> KURODA Hisao <kuroda@msi.co.jp> writes:
> 
> > > (defun foo ()
> >     (let ((foobar '(a)))
> >       foobar))
> > foo
> >
> > > (rplacd (foo) 'b)
> > b
> >
> > > (foo)
> > (a . b)
> > ------------------------------------------------------------------------
> >
> > もちろん、(defun foo ...) をもう一度評価してやれば(foo)の返す値は元に戻
> > ります。上に続けて、
> 
> とあり、(defun foo ...)をもう一度評価する、とは、
> 
> (defun foo ()
>  (let ((foobar '(a)))
>    foobar))
> 
> を評価することの意味で書きました。
> この他に解釈があるようには思えないのですが…

そうおっしゃっても...少なくとも私は実際の操作としては2通りはあると思
います.結果は当然変わります.

1.(setq a '(defun ...)) として再利用.
2."(defun foo ...)" というテキストを read & eval.

1は Interlisp 系での普通のやり方.構造エディタを使うとこうなるのが普
 通(西海岸文化).
2は Maclisp, Zetalisp, Emacslisp などでの普通のやり方.テキストエディ
 タを使うとこうなるのが普通(東海岸文化).
CommonLisp では(多分)どちらもあり.

別に黒山さんの書いた事にイチャモンを付けているのではなく,1の使い方を
してる人に注意したかった(そうはならないよ,と)だけなんですが.

#Lisp システムに於ける「評価」の意味は read & eval ではなく,eval である
#というのはいいですね.
#最初の記事の最後に書いたように,emacs ではその辺り,マニュアルレベルで
#違ってるかもしれませんが.
Technical Details
Message-ID: <36D4564C.E273EBCD@pop12.odn.ne.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <lzou2x5l5je.fsf@kmserver.aist-nara.ac.jp> <u1zk98biq.fsf@kei.mdcnet.co.jp> <lzosocpb08m.fsf@kmserver.aist-nara.ac.jp> <71emo1lm5n.fsf@herbrand.msi.co.jp> <36D0748D.5D8DD28C@pop12.odn.ne.jp> <714sofnufv.fsf@herbrand.msi.co.jp> <KATE.99Feb22144328@yamato.trad.pfu.co.jp> <71u2wflzmb.fsf@herbrand.msi.co.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: ff358,4952fe316c949c01
X-Google-Attributes: gidff358,public
X-Google-Thread: fe524,b1de047fcafc1e56
X-Google-Attributes: gidfe524,public
From: Hideki Kato <katoh@pop12.odn.ne.jp>
Subject: Re: [Q] various questions
Date: 1999/02/25
Message-ID: <36D4564C.E273EBCD@pop12.odn.ne.jp>
X-Deja-AN: 448020096
Content-Transfer-Encoding: 7bit
References: <lzou2x5l5je.fsf@kmserver.aist-nara.ac.jp> <u1zk98biq.fsf@kei.mdcnet.co.jp>  <lzosocpb08m.fsf@kmserver.aist-nara.ac.jp>  <71emo1lm5n.fsf@herbrand.msi.co.jp> <36D0748D.5D8DD28C@pop12.odn.ne.jp>  <714sofnufv.fsf@herbrand.msi.co.jp> <KATE.99Feb22144328@yamato.trad.pfu.co.jp> <71u2wflzmb.fsf@herbrand.msi.co.jp>
X-Accept-Language: en,ja
Content-Type: text/plain; charset=iso-2022-jp
X-Complaints-To: news@odn.ad.jp
X-Trace: newsgw8.odn.ne.jp 919887830 25824 210.231.49.253 (24 Feb 1999 20:23:50 GMT)
Organization: -
Mime-Version: 1.0
NNTP-Posting-Date: 24 Feb 1999 20:23:50 GMT
Newsgroups: fj.editor.emacs,fj.comp.lang.lisp