Bu arada senin kod icin güzel öneriler gelmeye basladi comp.lang.lisp'ten, dikkatimi cekenleri
buraya da not düseyim:

http://groups.google.com/group/comp.lang.lisp/browse_frm/thread/9c6bebedb0025692/29007db821b1a6b6#29007db821b1a6b6

+---------------
| (defun date-line? (line)
|   "Check for DATE line"
|   (and (> (length line) 6) (equal (subseq line 0 6) "Date: ")))
+---------------

yerine:

(defun prefix-match-p (prefix line)
     (not (mismatch prefix line :end2 (min (length prefix) (length line))
                                :test #'char-equal)))


+---------------
| ;; TODO: the function below looks horrible. do something...
+---------------

Yup, the (CONS (CONS ...)) stuff is pretty ugly. But if you replace
the DO loop with a LOOP, you can using COLLECT INTO multiple variables
to vastly simplify the building of the multiple result lists.


Vehbi Sinan Tunalioglu wrote:

"Emre" == Emre Sevinc <[EMAIL PROTECTED]> writes:

"VST" == Vehbi Sinan Tunalioglu <[EMAIL PROTECTED]> writes:
"Emre" == Emre Sevinc <[EMAIL PROTECTED]> writes:
"VST" == Vehbi Sinan Tunalioglu <[EMAIL PROTECTED]> writes:



   CL-USER> (asdf-install:install
   CL-USER> "/home/fz/programming/Lisp/trivial-sockets.tar.gz")

   CL-USER> (asdf-install:install
   CL-USER> "/home/fz/programming/Lisp/trivial-http-1.1.tar.gz")


   Emre> Install where?  1) System-wide install: System in
   Emre> #P"/usr/lib/sbcl/site-systems/" Files in
   Emre> #P"/usr/lib/sbcl/site/" 2) Personal installation: System in
   Emre> #P"/home/fz/.sbcl/systems/" Files in
   Emre> #P"/home/fz/.sbcl/site/"
   --> 2

   Emre> Her iki durumda da yukarida oldugu gibi 2 secmek durumunda
   Emre> kaldim cünkü 1 dedigimde sikayet etti, acaba "root"
   Emre> kullanicisi olarak baslatmadigim icin oldu bilmiyorum. Bu
   Emre> konuda bir aciklamasi olan deneyimli asdf-install
   Emre> kullanicilarina sesleniyorum! :)

Root degilsen oraya (1'e) yazamiyorsun.

   Emre> Cok önemli degil elbette ama "warning" almamak namina ve
   Emre> dokümantasyon kalitesi acisindan defparameter ya da defvar
   Emre> ile tanimlansa iyi olur diye düsündüm.

Evet. Oyle yapmak gerekecek... :)

   CL-USER> (prepare-full-raw-archive *url-list* "/tmp/archive.mbox")
   Emre> NIL

   Emre> Bu asama yaklasik 40-50 saniye sürdü.

Burasi cok onemli. `Slurping a file in Common Lisp' konulu epostanda
okuyup/yazma islemlerindeki optimizasyona iliskin verdigin bilgiler
cok faydali olacak.


   Emre> Hatirladigim kadari ile bu asama da 5-6
   Emre> sn. sürdü. (Yukaridaki cikti %100 dogru degil tabii, ben
   Emre> copy-yank yaparken cift yatay cizgileri cikardim
   Emre> altindakilerin tamami "signature" olarak algilanmasin diye)

5-6 saniye olsun diye bayagi ugrasmistim hatirliyorsan. Iste tam
burada sorun yasiyordum.

   Emre> Bundan sonraki asamada ne var? Mesela :FROM, :DATE, :SUBJECT
   Emre> alanlarini biraz daha "parse" edip parcalamak, :MESSAGE-ID
   Emre> vb. alanlari kullanip kimin kime hangi baslik altinda
   Emre> yazdiginin bir matrisini cikarmak filan?

Aynen oyle...

   Emre> Bu arada epey eglenceli ama mesela Debian Ingilizce listesi
   Emre> üzerinde denemeye korktum dakikalar sürebilir diye (10
   Emre> yillik cok geveze arsiv!)

Daha faydali bir olaya girisiyorum: su ana kadar aldigim bilgileri
NNTP uzerinden almak. org-davep-nntp isimli bir paket var. NNTP
baglantisi yapabiliyorsun. Dun Can Burak ile calstigina sahit
olduk. NNTP kullanmanin faydasi, epostalarin body kisimlarini almak
zorunda kalmamak. Zaten header, bizim calismamizin ihtiyac duydugu tum
bilgileri iceriyor. Bugun yarin, onu da yazip gonderirim.

--vst

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


--
Emre Sevinç
eMBA Yazılım Geliştirme
İstanbul Bilgi Üniversitesi


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

Cevap