>>>>> "ES" == Emre Sevinc <[EMAIL PROTECTED]> writes:
[...]
ES> Şimdi tabii benim kafam karıştı, o LOOP'un içindeki
ES> present-symbols sözdiziminin tekabül ettiği şey ile bu
ES> do-symbols'un ele aldığı şey bana mı farklı görünüyor
ES> gerçekten farklı mı filan.
Bilmem. Hyperspec ne diyor?
[...]
>> icin ne yapilabilir? Bu durumda boundp nil verecek, ama *foo*
>> pesinde oldugumuz speciallardan biri. Lispimiz onun special
>> oldugunu biliyor, fakat biz kolayca ogrenemiyoruz. Bunu ANSI
>> CL'de deneme yaparak cikartmaktan baska yol gozukmuyor _bana_.
ES> Deneme yapmak derken?
Mesela
CL-USER> (let ((foo 25)) (boundp 'foo))
NIL ;; neden? foo lexical cunku
CL-USER> (defvar foo)
FOO ;; simdi special olaral declaim edildi hep sepcial
CL-USER> (let ((foo 25)) (boundp 'foo))
T ;; yaa iste o binding special binding onun icin boundp gordu
;; pekiyi oyleyse
CL-USER> (defun specialp (symbol) (eval `(let ((,symbol 25)) (boundp
',symbol))))
SPECIALP
CL-USER> (specialp 'foo)
T
CL-USER> (specialp 'bar)
NIL ;; yeni sembol
Ama ne o oyle eval meval? Deniyoruz yani. (ben burada aciklayici olsun
diye sbcl'in dondurdugu gurultuyu sildim. Ciddi ciddi boyle denemek isteyen
(defun specialp (symbol)
(handler-bind ((warning #'muffle-warning))
(eval `(let ((,symbol 25)) (boundp ',symbol)))))
kullanabilir. Ek lazim tabii. Mesela keyword veriseniz ne oluyor?
Neden?
Heyneyse kastettigim buydu. Lisp birsey biliyor, biz bunu biliyor musun
diye soramuyoruz deney yaparak buluyoruz.
[...]
ES> Bir sonraki ANSI komite toplantısına dahil mi olsak n'apsak?
ES> ;-) [...]
Heh. KMP ile konus bunu.
BM
_______________________________________________
cs-lisp mailing list
[email protected]
http://church.cs.bilgi.edu.tr/lcg
http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp