>>>>> "BM" == Bulent Murtezaoglu <[EMAIL PROTECTED]> writes:

>>>>> "ES" == Emre Sevinc <[EMAIL PROTECTED]> writes:
    BM> [...]
    ES> Tabii bu UCW belgesi ile alakasi yok merak ettim fark nasil
    ES> gösterilir diye. "quote" special operator ile "list"
    ES> fonksiyonu kullanilarak olusturulan liste arasinda ne fark
    ES> var? Tek ve basit bir hareketle nasil gösterilir?

    BM> Garantili degil ama sbcl icin, mesela:

    CL-USER> (defun test () (let ((foo '(1 2 3))) (print foo) (rplaca
    CL-USER> foo 3) (print foo)))
    BM> ; in: LAMBDA NIL ; (RPLACA FOO 3) ; --> LET PROGN SETF ; ==> ;
    BM> (SB-KERNEL:%RPLACA #:ONCE-ONLY-0 3) ; ; caught WARNING: ;
    BM> Destructive function SB-KERNEL:%RPLACA called on constant
    BM> data.  ; See also: ; The ANSI Standard, Special Operator QUOTE
    BM> ; The ANSI Standard, Section 3.2.2.3 ; ; compilation unit
    BM> finished ; caught 1 WARNING condition TEST
    CL-USER> (test)

    BM> (1 2 3) (3 2 3)

    BM> (3 2 3)
    CL-USER> (test)

    BM> (3 2 3) (3 2 3) (3 2 3)


    BM> Compiler quoted listleri sabit data olarak kullanabiliyor,
    BM> degisiklik yapilirsa programin kendisi degismis oluyor.
    BM> Yukaridaki fonksyon ikinci defa cagirildiginda o program
    BM> sourceunda gordugunuz (1 2 3) (3 2 3) haline gelmis oluyor
    BM> mesela.  Eski FAQ'da bununla ilgili birsey vardi, ama bakmadim
    BM> simdi.  SBCL yakaladi zaten gordugunuz gibi, ama yakalamasi
    BM> sart degildi.

Detayli aciklama icin cok tesekkürler, tam da buna benzer bir
seyi kast ediyordum. 

Baska türlü örnek verince pratik olarak o fark görünmüyor cünkü.


    BM> Baska bir suru ornek de dusunulebilir, simdi aklima bu geldi
    BM> sadece.  Bu yeni baslayanlarin sIkca yapabildikleri bir hata
    BM> cunku.

Ve kafa karistirici bir durum aslinda. Baslangicta, bu ince farki
göremeyenler bu belgeyi okumasin UCW'ye de hic bulasmasin mi diyecegiz?
(Denebilir tabii, prensip olarak itirazim olmaz esasen). Bu kritik bir
örnek, bir tür yarilma noktasi bence. Dikktali olmakta fayda var.



-- 
Emre Sevinc

eMBA Software Developer         Actively engaged in:
http:www.bilgi.edu.tr           http://ileriseviye.org
http://www.bilgi.edu.tr         http://fazlamesai.net
Cognitive Science Student       http://cazci.com
http://www.cogsci.boun.edu.tr


_______________________________________________
cs-lisp mailing list
[email protected]
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

Cevap