Bulent Murtezaoglu <[EMAIL PROTECTED]> writes: >>>>>> "ES" == Emre Sevinc <[EMAIL PROTECTED]> writes: > [...] > ES> Kafam şeye gitti, yani işte CL var CL-USER var, CL-USER > ES> aslında CL'deki sembolleri de alıyor filan. Ama bunun > ES> konumuzla bir ilgisi var mı tam bilmiyorum. LOOP makrosu > ES> içindeki o present-symbols tam olarak hangi kritere göre > ES> getiriyor sembolleri pek anlaşılmıyor HyperSpec'e bakınca > ES> çünkü "the symbols that are present in a package" lafı ile > ES> "the symbols accessible in package" tam olarak > ES> ayrıştıramıyorum. Bir şeyler sezer gibi oluyorum ama kafam > ES> büsbütün karışıyor. > > Lisp'e sor: > > CL-USER> (set-difference > (let (tmp) > (do-symbols (s *package* tmp) > (when (eq (symbol-package s) *package*) (push s tmp))) tmp) > (loop for sym being the present-symbols of *package* collect sym)) > NIL > CL-USER>
Müsaadenizle şöyle demek istiyorum, "it's really set theory, and all mathematicians love set theory!" [1]. > Dogru anlamissin bence, ama biraz daha minciklaman lazim sezdiginin > tam oturmesi icin. Mesela yukarki ornek, sane hyperpec glossary'sinde > gorebilecegin birseyi cikartmaya yardimci olmak icin faydali olabilir: > Demek ki anahtar fonksiyonlardan biri symbol-package imiş! Syntax: symbol-package symbol => contents Arguments and Values: symbol---a symbol. contents---a package object or nil. Description: Returns the home package of symbol. Examples: (in-package "CL-USER") => #<PACKAGE "COMMON-LISP-USER"> (symbol-package 'car) => #<PACKAGE "COMMON-LISP"> (symbol-package 'bus) => #<PACKAGE "COMMON-LISP-USER"> (symbol-package :optional) => #<PACKAGE "KEYWORD"> > ----------- > present n. 1. (of a feature in a Lisp image) a state of being that is in > effect if and only if the symbol naming the feature is an element of the > features list. 2. (of a symbol in a package) being accessible in that package > directly, rather than being inherited from another package. > ----------- Şimdi daha net anlaşılıyor bazı şeyler... Ayrıca Edi Weitz ve diğerlerinin verdiği cevaplara da baktım, (apropos "special-p")'nin SBCL için ne döndürdüğünü de biraz inceledim. env diye bir şeyi de parametre olarak isteyen sb-walker:var-special-p diye bir şey döndürüyor. -- 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

