Re: [cs-lisp] Re: Web programlama belgesi

2006-01-10 Başlik Tonguc Yumruk
Merhaba,

HeVeA sağolsun, depoya html sürümünü de ekledim, ancak sanırım SVN'in
kendi zımbırtısı http başlıkları konusunda pek başarılı değil, sayfa
plain text olarak görüntüleniyor. Yine de adresi şudur:

http://tonguc.ath.cx/svn/Writings/UnCommonWebProgrammingWithCL/ucwpwcl-1.html

Ayrıca sonunda dayanamadım, bir de viewcvs kurdum. Ona da şu adresten
erişilebilir: http://tonguc.ath.cx/cgi-bin/viewcvs.cgi Bu html
dosyalarını göndermede vs... çok daha başarılı.

Bir de Emacs'e LaTeX'i dvi yaparken html'de yapacak birşeyler ekledimmi
tamamdır...

Thus saith Emre Sevinc :
  CBC == Can Burak Cilingir [EMAIL PROTECTED] writes:
 
 CBC Pzt, 2006-01-09 tarihinde 23:07 +0200 saatinde, Evrim ULU
 CBC yazdı: Biraz senaryo ürettim.
 
  Bunun yerine cronjob olarak bir betik dosya ile svn'den
  checkout edip orada i$lem yapmak daha mantikli. Daha az
  intrusive.
 
 CBC Bundan daha düzgünü http'den HEAD ile dosyanın değişip
 CBC değişmediğine bakıp değişti ise çekmek/derlemek olsa gerek.
 
 CBC fam (fileshanged) ile havuzu gözleyip, değiştiğinde çekip,
 CBC çekilen alanı da fam ile izleyip, .tex dosyası değiştiğinde
 CBC derlemek daha doğru olabilir. tabi sadece dosyanın bulunduğu
 CBC dizin çekilirse 2 fam'a gerek olmayacaktır.
 
 Arkadaslar sakin olun! :) Ben sadece düsünmüstüm ki hani böyle
 on-the-fly tex'i HTML yap da (bir yere temp. olarak yaz) öyle göster
 bakan kisiye gibi bir sey idi. Bir nevi CBC'nin o yaptigi sey
 gibi, gerci o PDF yapiyordu ayri. Ben iste tam da o tür bir seyin
 HTML üretip benim Firefox'ta gösteren halini kast etmistim.
 
 Tabii her seferinde her seferinde calisacagi icin belki biraz
 islemci yükü getirir de yani zaten bakacak olan kisi üctür, bestir.
 (Aksi olursa ne mutlu bize! :)
 
 
 -- 
 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
 cs-lisp@cs.bilgi.edu.tr
 http://church.cs.bilgi.edu.tr/lcg
 http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp

-- 
Sevgi Saygı GNU/Linux

Forecast, n.:
A prediction of the future, based on the past, for
which the forecaster demands payment in the present.

Tonguç Yumruk


signature.asc
Description: Digital signature
___
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


Re: [cs-lisp] Re: Web programlama belgesi

2006-01-10 Başlik Tonguc Yumruk
Thus saith Emre Sevinc :
 Eline saglik bu kurdugun sistem icin. Hemen GNUS icinde w3m ile
 baglanip baktim, oradan son sürüm .tex kodunu cekip derleyip okuyorum
 su anda (HTML icin Rev 8 .tex icin 7 görünüyordu sanirim).

SVN revision numaraları tutmayabilir, çünkü belgenin kendisini Emacs'in
VC eklentisi ile, html sürümünü ise konsoldan, elle commit ediyorum.
Ancak genelde TeX sürümü ile html sürümü denk oluyor.

Bu bahaneyle sormuş olayım. AucTeX veya Emacs'in VC eklentisinin her DVI
üretildiğinde HTML'i de üretmeyi sağlayan, veya her commit'te html'i de
onun yanında commit etmeyi sağlayan bir seçeneği var mı, yoksa elisp mi
kasmak gerekecek?

 Bir harf hatasi:
 
 ... yapay zeka arastirmlarindan ...  kisminda arastirmalarindan
 olmali.

Harf hatalarına fazla takılmazsan sevinirim, çünkü oldukça
antiergonomik bir konumda yazıyorum, haliyle de çok fazla harf hatası
yapıyorum. Mümükün olduğunca okuyup düzeltmeye çalışıyorum fakat her
zaman kontrol etmem mümkün olmayabiliyor. Bu nedenle belge son haline
gelene kadar bu konuya fazla takılmazsan iyi olacağını düşünüyorum.

 Giriste dikkatimi ceken, '(1 2 3) ile (list 1 2 3) arasindaki
 farki bilen... gibi bir ifade kullanilmis. Simdi düsündüm de
 bu ikisi arasindaki farki net olarak gösterebilen bir örnek
 gelmedi aklima. Aklima gelenler asagidakiler idi:
 
 CL-USER (eq '(1 2 3) (list 1 2 3))
 NIL
 CL-USER (eql '(1 2 3) (list 1 2 3))
 NIL
 CL-USER (equal '(1 2 3) (list 1 2 3))
 T
 CL-USER (equalp '(1 2 3) (list 1 2 3))
 T
 CL-USER (listp '(1 2 3))
 T
 CL-USER (listp (list 1 2 3))
 T
 
 Tabii bu UCW belgesi ile alakasi yok merak ettim
 fark nasil gösterilir diye. quote special operator
 ile list fonksiyonu kullanilarak olusturulan liste
 arasinda ne fark var? Tek ve basit bir hareketle nasil gösterilir?
 

İşin hileli kısmı burada. İki formun sonucu arasında kolayca görülebilir
bir fark yok. Ancak nasıl çalıştıkları konusunda ciddi bir fark var.
Önce örnek olarak '(1 2 (+ 2 1)) ve (list 1 2 (+ 2 1)) vermeyi düşündüm
ancak insanların bunu repl'e yazıp haa sonuçları farklı oluyormuş
demek diyip devam etmesindense ee iki sonuçta aynı fark ne o zaman
gibi düşünmesini istedim doğrusu.

 
 Elestiri:
 
 (defclass sinif-adi (ust-sinif1, ust-sinif2)
   ((yuva1 :accessor yuva1 :initarg :yuva1 :initform nil)
(yuva2 :accessor yuva2 :initarg :yuva2 :initform
 (error ``Yuva2'ye deger atanmamis''
 
 seklindeki kod düzgün hizalanmamis (en azindan bendeki xdvi ortaminda
 su anda öyle görünüyor). (error ...) seklindeki form olmasi gerekenden
 cok daha fazla sol tarafa yanasik, ((yuva1 ...) ile ayni hizada.
 

Evet, html halinde de öyle. Halbuki slime'ın dediğine göre :accessor'un
altında olması gerek. Sanıyorum doğrudan verbatim yerine kendi
tanımladığım bir makro kullanmamdan kaynaklanıyor. Sebebini
araştıracağım. Olmazsa listings paketine dönerim. Yanılmıyorsam o bu işi
doğru yapıyordu.

 ilklendirilirken icin dipnot düsülmüs ve 4 numarali dipnotta
 instantiation denmis. Hani bu initialization idi? Hangisi hangisi?
 

İlklendirmeyi önce instantiation için kullankıştım ancak onu tam
karşılamıyor. Daha çok Initialization kelimesini karşılıyor, ancak
instantiation için uygun bir karşılık bulana kadar öyle kalmak
durumunda.

 Halen metod kombinasyonu oradaki yerini koruyor. Ben hala kafa
 karistirici olabilecegini düsünüyorum ve elzem degilse simdilik
 bahsedilmemesi gerektigini.
 

Evet, henüz sadece başlıktan çıkarttım metod kombinasyonunu, birazdan
belgenin kalanından da temizleyeceğim.

 Bir baska elestiri:
 
 Yazi icinde baslangicta siniftan örnek olusturmak filan denmis,
 instance denmis ama kod icinde (nesne yuva1) filan gibi seyler
 var. Yani olusturdugumuz seyin bir nesne (object) oldugu bilincaltimiza
 islemis durumda ;-) Ya tamamen örnek deyip duracagiz ve bu durumda
 yaygin OOP terminolojine alisik olanlar zorluk cekecek ya da make-instance
 siniftan örnek yaratmak demektir ve örnek dedigimiz sey de cogunuzun
 nesne yani object olarak bildigi seydir... diyecegiz insanlara
 kafalar biraz berraklassin. Eger örnek lafinda israrci isek o zaman
 tutarli olalim ve (ornek yuva1) gibi bir seyler diyelim.
 

Aslında bu biraz benim de kafamın karışık olduğu bir konu. Sonuçta örnek
(instance) ile nesne (object) arasındaki farkı tam olarak
algılayamıyorum. Şimdilik nesne geçen yerleri örnek olarak değiştirdim
fakat belki de asıl olarak nesne kullanıp gerektiği yerlerde nesne
örneği yaratmak gibi birşeyler demek daha mantıklı olabilir.

 Simdilik gözüme carpanlar bunlar.
 
 -- 
 Emre Sevinc

-- 
Sevgi Saygı GNU/Linux

I would rather spend 10 hours reading someone else's source code than
10 minutes listening to Musak waiting for technical support which isn't.
-- Dr. Greg Wettstein, Roger Maris Cancer Center

Tonguç Yumruk


signature.asc
Description: Digital signature
___

Re: [cs-lisp] Re: Web programlama belgesi

2006-01-10 Başlik Recai Oktas
Eline saglik Tonguc, biraz isinayim mevzuya, daha ayrintili bakacagim.
Simdilik asagidaki turden tali konularda katkim olabilir. :-)

* Tonguc Yumruk [2006-01-11 00:51:31+0200]
 Thus saith Emre Sevinc :
  (defclass sinif-adi (ust-sinif1, ust-sinif2)
((yuva1 :accessor yuva1 :initarg :yuva1 :initform nil)
 (yuva2 :accessor yuva2 :initarg :yuva2 :initform
(error ``Yuva2'ye deger atanmamis''
^^^ === burada bir yerde tab var

  seklindeki kod düzgün hizalanmamis (en azindan bendeki xdvi ortaminda
  su anda öyle görünüyor). (error ...) seklindeki form olmasi gerekenden
  cok daha fazla sol tarafa yanasik, ((yuva1 ...) ile ayni hizada.
 
 Evet, html halinde de öyle. Halbuki slime'ın dediğine göre :accessor'un
 altında olması gerek. Sanıyorum doğrudan verbatim yerine kendi
 tanımladığım bir makro kullanmamdan kaynaklanıyor. Sebebini
 araştıracağım. Olmazsa listings paketine dönerim. Yanılmıyorsam o bu işi
 doğru yapıyordu.

Bence verbatim'den sasma.  Fakat mumkunse bu verbatim ortaminda daima
tablari (uygun bir genislikle) expand et.  Mesela yukaridaki sorun bundan
kaynaklaniyor (verbatim satir basindaki tablari gormez, bu da baska bir
sorunudur).

-- 
roktas

___
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


Re: [cs-lisp] Re: Web programlama belgesi

2006-01-10 Başlik Tonguc Yumruk
Merhaba,

Teker teker cevaplamak yerine topluca buraya yazacağım. Cevabın ardından
dileyenlere üzerime atmaları için çürük yumurta ve domates servisi
yapılacaktır.

Açıkçası burada CLOS'tan bahsetmekteki amacım sadece diğer dillerde OOP
tecrübesi olan birinin CLOS terminolojisi karşısında şaşırmasını
önlemek. Aslında amacım sadece slot kavramına ve CL'de metodların nasıl
tanımlandığına ilişkin temel bilgi vermek. Bu nedenle diğer dillerde hiç
rastlanmayan metod kombinasyonları, efektif metodların oluşturulması
gibi konulardan bahsetmiyorum.

Slotları tanımlarken biraz daha çeşitli örnekler olması gerektiği
konusuna katılıyorum. Birkaç farklı format ekleyeceğim.

:initform içinde error kullanmak PCL'de gördüğüm ilginç bir teknikti.
Bildiğim kadarıyla sadece make-instance sırasında o yuvanın initarg'ı
lambda listesi içinde yeralmazsa çalıştırılıyor. Bu nedenle yvalara
değer atanmasını mecburi kılma için pratik bir yöntem gibi gözüktü.

make-instance yazı içinde sadece tek cümlede geçiyor, onu birazcık daha
detaylı anlatabilirim sanırım. En azından sözdizimi konusunda biraz daha
detay verebilirim.

:initform'in içinde çalıştırıldığı ortam veya defgeneric'in :method
seçeneği gibi konuların bu yazının amacının oldukça dışında olduğunu
düşünüyorum.

Son olarak lambda listesi kullanmak bence de daha doğru bir yaklaşım
ancak en azından ne olduğuna dair kısa bir açıklama verilmesi gerekir
diye düşünüyorum. Aksi halde insanlara itici gelecektir. Bu durumda da
belge amacına ulaşmaz ve insanlarda hiçbir zaman lamda listesinin
anlamını çömeye kalkışmazlar. Sanıyorum en azından bir dipnotile
açıklamak sorunu çözecektir.

Eleştirileriniz için teşekkürler.

Thus saith Bulent Murtezaoglu :
 
 (yorumlar rev=5 icin)
 
 Iyi bir baslangic olmus bence, yalniz girilen yerlerde cok fazla detay 
 gerekecek ve bunu toparlamaya harcanan cabaya degecek mi bilmiyorum.  CLOS 
 kucuk bir sistem degil, siz hakkiyla anlatirsaniz anlayabileceklerin PS'in 
 kitabindan da okuyabileceklerini de dusunmek lazim belki.  Gozume carpanlari 
 geciyorum.
 
 - defmethod, defclass ve defgeneric icin kullanilan sablonlar ne kus ne deve 
 olmus, belki bastan kisitli bir altkume gosterecegim deyip (ucw vs. icin 
 gerekli olan) topu baska yere atmak daha dogru olur.  
 
 - Slot/yuva cok hos olmus bence.  
 
 - Initform'a error koymak ilginc ama o yola girileckse, slot-unbound diye bir
 generic fonkyon oldugundan da bahsetmek lazim.  (ama o derse gelinceye kadar 
 initialize-instance'dan da bahsetmek lazim belki.  Yani is bir anda buyuyor.)
 
 Accessorlar anlatilirken kullanilan ontanim ifadesi yaniltici olabilir.
 
 (defclass sinif ()
   ((yuva1 :accessor ayse)))
 
 mumkun (bu initarg kisminda da boyle anlatilmis zaten).  Tabii 
 
 (defclass sinif ()
   (yuva1))
 
 de mumkun.  
 
 - ilklendirme 'initialization'i da cagristiriyor.  
 
 - burada make-instance'dan bahsetmek lazim bence.  
 
 - initformun hangi lexical/dynamic environment icinde evaluate edilecegini 
 soylemek gerekir belki?   
 
 - defgeneric'in metodlarin icerigi hakkinda bilgi tasimadigi tam da 
 dogru degil.  Bazen :method opsyonuyla en azindan default method vermek 
 makul olabiliyor (initform'daki error gibi mesela).
 
 - verilen sablonda tek sinif degiskeni gozukuyor, cogunlukla boyle 
 kullanilsa da tanimin boyle verilmesi yaniltici olabilir.  Takip eden 
 cumlede 'genelde' denmesi yeterli degil bence.
 
 - parametre listesi yerine, dogrudan standart terminolojiye donup 'lambda 
 listesi' demek daha dogru bence.  Cunku nasil olsa bu dokuman amacina 
 ulasirsa insanlar surada verilen bilgiyi kismen de olsa ogrenmek durumunda
 kalacaklar:
 
 http://www.lispworks.com/documentation/HyperSpec/Body/07_fd.htm
 
 iyi bayramlar, 
 
 BM
 
  
 
 
 ___
 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

-- 
Sevgi Saygı GNU/Linux

Writing non-free software is not an ethically legitimate activity, so if
people who do this run into trouble, that's good!  All businesses based
on non-free software ought to fail, and the sooner the better.
-- Richard Stallman

Tonguç Yumruk


signature.asc
Description: Digital signature
___
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


Re: [cs-lisp] Re: Web programlama belgesi

2006-01-09 Başlik Tonguc Yumruk
Thus saith Emre Sevinc :
 
 DVI ciktisina bakmak daha zevkli oluyor tabii ama bunun icin senin belgeyi
 alip kendi sistemimde derlemek gerekiyor, acaba on-the-fly o LaTeX
 belgesini benim Firefox'a HTML olarak getiren bir düzenleme yapman
 mümkün müdür? Olmasa da olur türünden, olsa güzel olur seklinde.

Dosyalar SVN ortamında sürüm kontrolü altında duruyorlar. Bu nedenle
doğrudan dvi, pdf gibi ikilik çıktı dosyalarını orada barındırmak işime
gelmiyor açıkçası. Ancak bildiğim kadarıyla SVN'in bir kanca sistemi
var, sanıyorum her commit'te bir çıktı dosyası üretmesini sağlamak
mümkün olabilir. Ben bunu bir araştırayım.
 
 
 Yazinin basinda tam olarak neyi anlatacagini vurgularsan iyi olur.
 
 Esas amacin Lisp ögretmek degil, biraz Lisp bilen birine özel 
 olarak UCW ile Lisp araciligi ile web programlama ögretmek
 oldugunu vurgulamak iyi olabilir. 

Hmm... bununla ilgili bir not düştüm sanıyordum... Abstract'ı biraz
uzatmak gerekecek sanırım...

 Söyle bir örnek vermissin:
 
 (defgeneric fonksiyon-adı (sınıf-değişkeni parametre1 parametre2)
   (:documentation Fonksiyonun açıklaması)
   (:method-combination :most-significant-first))
 
 metod kombinasyonu konusuna girecek misin? Detayli ve yer yer
 kafa karistirici (göz korkutucu) olabilir baslangicta. :method-combination
 hic belirtilmese mesela yukaridaki örnekte?

Açıkçası metod kombinasyonundan bahsedip bahsetmemek konusu benim de
kafamı çok kurcaladı. Önce bahsetmeye karar vermiştim fakat bahsetmesem
daha iyi gibi. Onun yerine sadece generic fonksiyonlar ile metodlardan
ve bu ikisinin ilişkisinden bahsedeceğim. Ne de olsa amaç sadece diğer
dillerde OOP tecrübesi olan insanları CLOS terminolojisine ısındırmak,
Dİğer dillerde pek rastlanmayan bu tip birşeyi anlatmanın alemi yok.
Sadece metodlar ve generic fonksiyonlardan bahsedeceğim. Aslında generic
fonksiyonlardan da bahsetmek istemezdim ama daha sonra fonksiyon imzası
uyuşmazlığından çıkan sorunları dinlemek istemem doğrusu.

 Slot diye baslamissin ama sonra yuva demissin pek cok yerde.
 Hangisi olacagina karar vermekte fayda var.

Biliyorum, yuva aniden aklıma gelince kullanmaya başladım. Yeni halinde
düzeltildi...

 ilklendirilirken lafi hala cok oturmus bir laf degil gibi
 geliyor bana. Parantez icinde (initialize) filan bir sey
 yazilirsa faydali olabilir.

İlklendirmeden kastım aslında instance oluşturmaktı fakat sanırım
ilklendirme kelimesi bunu tam karşılamıyor. Var mı bir önerisi olan?

 Bu ilk bakista gözüme carpanlari not ettim. Belgeyi güncelledikce
 haber verirsen daha detayli ve keskin bakmaya calisirim.

Hmm... En iyisi SVN'e her commit'te sana bir mail atsın. Ben de böylece
hem ilk CL spammer'ı olur, hem de intikamımı almış olurum.

 Simdilik bu kadar.
 
 -- 
 Emre Sevinc


Çok teşekkürler. (Türkçe karakterleri kullanalım, kullandıralım)

-- 
Sevgi Saygı GNU/Linux

Systems programmers are the high priests of a low cult.
-- R.S. Barton

Tonguç Yumruk


signature.asc
Description: Digital signature
___
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


Re: [cs-lisp] Re: Web programlama belgesi

2006-01-09 Başlik Can Burak Cilingir
Pzt, 2006-01-09 tarihinde 20:56 +0200 saatinde, Emre Sevinc yazdı:
  TY == Tonguc Yumruk [EMAIL PROTECTED] writes:

[ ... ]

 
 DVI ciktisina bakmak daha zevkli oluyor tabii ama bunun icin senin belgeyi
 alip kendi sistemimde derlemek gerekiyor, acaba on-the-fly o LaTeX
 belgesini benim Firefox'a HTML olarak getiren bir düzenleme yapman
 mümkün müdür? Olmasa da olur türünden, olsa güzel olur seklinde.

kirli ve hızlı:

http://canb.net/latex.sh?http://tonguc.ath.cx/svn/Writings/UnCommonWebProgrammingWithCL/ucwpwcl-1.tex

şu anki versiyonunu doğru derleyebiliyor ama başka bir dosya ile test
etmedim. Üst düzeyde verim için mozilla-acroread paketini kullanınız.
Server error gelir ise derleyememiştir, telaşa mahal yok.

eğer aa bu iyiymiş, kullanırım derseniz ve de başka bir URL ile hata
verir ise URL'i bana yolayınız, eksikleri ekleyeyim.

-- 
Can Burak Cilingir
Istanbul Bilgi University

Following address is a bot-trap
[EMAIL PROTECTED]


signature.asc
Description: This is a digitally signed message part
___
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


RE: [cs-lisp] Re: Web programlama belgesi

2006-01-09 Başlik Emre Sevinc
Title: RE: [cs-lisp] Re: Web programlama belgesi







 Yazinin basinda tam olarak neyi anlatacagini vurgularsan iyi olur.

 Esas amacin Lisp ögretmek degil, biraz Lisp bilen birine özel
 olarak UCW ile Lisp araciligi ile web programlama ögretmek
 oldugunu vurgulamak iyi olabilir.

Hmm... bununla ilgili bir not düstüm saniyordum... Abstract'i biraz
uzatmak gerekecek sanirim...

Sadece biraz daha vurgulamak ve belki birkac cümle ile ballandira ballandira
bir seyler deyip heveslendirmek manasinda.

Zaten kaynakca diye bir kisim yapip, Lisp temel belgeleri nelerdir, hangi
web siteleri Lisp ortamlarinin kurulumu icin bilgi verir, vs. gibi seyleri
yazacaksin diye düsündüm. O yüzden girisi cok kisa ve basit tutmakta fayda
var.

Hah bir de simdi aklima geldi, Bu Belge Kimler Icindir?, Kimler Icin Degildir?
Prerequisites (türkce nasil denir bilmiyorum) gibi bir iki bölüm de eklenirse
hakkimizda dava acabilecek sinirli ve hevesli programci kitlesine karsi
tedbir alinmis olur.


 Söyle bir örnek vermissin:

 (defgeneric fonksiyon-adi (sinif-degiskeni parametre1 parametre2)
 (:documentation Fonksiyonun açiklamasi)
 (:method-combination :most-significant-first))

 metod kombinasyonu konusuna girecek misin? Detayli ve yer yer
 kafa karistirici (göz korkutucu) olabilir baslangicta. :method-combination
 hic belirtilmese mesela yukaridaki örnekte?

Açikçasi metod kombinasyonundan bahsedip bahsetmemek konusu benim de
kafami çok kurcaladi. Önce bahsetmeye karar vermistim fakat bahsetmesem
daha iyi gibi. Onun yerine sadece generic fonksiyonlar ile metodlardan
ve bu ikisinin iliskisinden bahsedecegim.

Bence de öyle yapmakta fayda var, CLOS derinliklerini ve metodlarin cagrilma
sirasinin nüanslarini merak edenleri yine Kaynakca bölümündeki ilgili
kaynaklara yönlendirebilirsin nasil olsa.

 Ne de olsa amaç sadece diger
dillerde OOP tecrübesi olan insanlari CLOS terminolojisine isindirmak,
DIger dillerde pek rastlanmayan bu tip birseyi anlatmanin alemi yok.

Insanlar yeterince sinirlenecekler zaten nesne.metod yerine (metod nesne)
gibi bir sey gördüklerinde. Saka yapmiyorum, cok örnegini yasadim. Eski
köye yeni adet mi getiriyorsunuz, cok bilmissiniz, bla bla bla seklinde.
Sen sonra ugras dur CLOS tarihcesi, vs. Einstein bosuna dememis önyargilari
parcalamak atomu parcalamaktan zor diye.

Bu yüzden ya kitlenin CLOS yabancisi oldugunu düsünüp ürkütmeden cok yumusak
ve sade giris yapacaksin, yahut üc bes Lisp, CLOS filan bildigini varsayip
yine cok üzerinde durmayacaksin.


Sadece metodlar ve generic fonksiyonlardan bahsedecegim. Aslinda generic
fonksiyonlardan da bahsetmek istemezdim ama daha sonra fonksiyon imzasi
uyusmazligindan çikan sorunlari dinlemek istemem dogrusu.

Sorun cikarsa yazacaklari adresler belli ;-)


 ilklendirilirken lafi hala cok oturmus bir laf degil gibi
 geliyor bana. Parantez icinde (initialize) filan bir sey
 yazilirsa faydali olabilir.

Ilklendirmeden kastim aslinda instance olusturmakti fakat sanirim
ilklendirme kelimesi bunu tam karsilamiyor. Var mi bir önerisi olan?

... olusturulurken desek mesela? Yani ilk kez olusturulurken demek
de sacma geliyor cünkü olusturuldugunu söyledigimiz sey tabii ki ilk
kez olusturuluyor, aynisindan bir daha olusturulmuyor, vs. Maalesef
su anda benim daha iyi bir önerim yok.

 Bu ilk bakista gözüme carpanlari not ettim. Belgeyi güncelledikce
 haber verirsen daha detayli ve keskin bakmaya calisirim.

Hmm... En iyisi SVN'e her commit'te sana bir mail atsin. Ben de böylece
hem ilk CL spammer'i olur, hem de intikamimi almis olurum.

Bana degil cs-lisp listesine yani buraya atsin. Fena mi olur ;-)
Saka yapmiyorum.

Her ciddi degisiklikten sonra bir göz üzerinden gecersek, bu belge
bitip kitlelere duyuruldugunda ortaya gercekten iyice süzülmüs, kaliteli
bir eser cikmis olacaktir.





___
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