--- Volkan YAZICI <[EMAIL PROTECTED]> wrote:

Merhaba,
Uzmanlarimiz cevap verene kadar isinizi gorur diye
aklimda kalanlari yazayim (bir suredir elimi birseye
suremiyorum, ama bunlardan eminim :).

> Merhaba,
> 
> Practical Common Lisp'i okumaya çalışıyorum ve
> aklıma takılan bir kaç
> soruyu burada sormak istedim.
> 
> Neden CL'de SETQ, SETF gibi iki farklı SET komutu
> kullanımına gidilmiş?
> Scheme'deki SET!'ten sonra SETQ ve SETF'e bir
> türlü anlam veremedim.

setq sembollere deger vermek icin, setf'in baska
kullanimlari da var: mesela listeleri yerinde
degistirmek filan gibi. 



> Bir diğer sorum ise, DEFUN ve LAMBDA arasında çok
> büyük bir fark mı var,
> yoksa bu bana mı öyle geliyor? Örneğin,
> 
>   (defvar foo (lambda (x) (* x 2)))
> 
> ile
> 
>   (defun foo (x) (* x 2))
> 
> ifadesinin neden farklı olduğunu bir türlü
> anlayamadım. Yine Scheme'den
> örnek vereceğim ama...
> 
>   (define foo (lambda (x) (* x 2)))
> 
> ile
> 
>   (define (foo x) (* x 2))
> 
> arasında bir fark yok mesela.

CL'de semboller fonksiyon ve normal deger hucrelerine
sahip: defvar ve lambda kullandiginizda fonksiyon
objesi deger hucresinde tutuluyor, bu nedenle de
funcall ile cagirmak zorundasiniz. Yani (foo 4)
derseniz hata aliyorsunuz. defun ile bu sorun yok, o
dogrudan fonksiyon hucresini dolduruyor.

Bu arada bu terminoloji tam uygun olmayabilir, ama
anlam boyle.



> Benzer şekilde bu #' işi de aklımı epey
> kurcalıyor. Bu konular hakkında
> nacizane fikirlerinizi belirtirseniz sevinirim.
> 
> 
> İyi çalışmalar.
> 
> _______________________________________________
> cs-lisp mailing list
> cs-lisp@cs.bilgi.edu.tr
> http://church.cs.bilgi.edu.tr/lcg
> http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp
> 

Nusret

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

_______________________________________________
cs-lisp mailing list
cs-lisp@cs.bilgi.edu.tr
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

Cevap