[cs-lisp] Re: Web programlama belgesi
> "TY" == Tonguc Yumruk <[EMAIL PROTECTED]> writes: >> 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? >> TY> İşin hileli kısmı burada. İki formun sonucu arasında kolayca TY> görülebilir bir fark yok. Ancak nasıl çalıştıkları konusunda TY> ciddi bir fark var. Önce örnek olarak '(1 2 (+ 2 1)) ve (list TY> 1 2 (+ 2 1)) vermeyi düşündüm ancak insanların bunu repl'e TY> yazıp "haa sonuçları farklı oluyormuş demek" diyip devam TY> etmesindense "ee iki sonuçta aynı fark ne o zaman" gibi TY> düşünmesini istedim doğrusu. Insanlari düsünmeye sevk etmek ile ilgili herhangi bir problemim yok ancak bir önerim var, bununla ilgili misal bir dipnot düsülsün ve bir ipucu verilsin ya da kaynak gösterilsin. Sonuna da (eger kendiniz farki kesfedemez iseniz lütfen belgenin sonuna bakin) gibi bir sey yazilip inceden inceye bir gerilim, bir merak, bir kesif hazzi, bir ambiyans yaratilsin, güzellik olsun, fark yaratilsin. Nasil fikir? ;-) >> 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. >> TY> Aslında bu biraz benim de kafamın karışık olduğu bir TY> konu. Sonuçta örnek (instance) ile nesne (object) arasındaki TY> farkı tam olarak algılayamıyorum. Şimdilik nesne geçen yerleri TY> örnek olarak değiştirdim fakat belki de asıl olarak nesne TY> kullanıp gerektiği yerlerde nesne örneği yaratmak gibi TY> birşeyler demek daha mantıklı olabilir. Benim bildigim terminoloji farkindan baska bir sey degil. Yani "nesne" = "object" = "instance" = "ornek" = "bir sinif tarifine bakarak ayrilmis olusum" Bu terminolojik farki belirtip nesne de kullanilabilir, egzantrik olmak göze alinip "instance"in tam cevirisi "örnek" de kullanilabilir ki ben kendi adima nesne demeyi tercih ederim. -- 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
[cs-lisp] Re: Web programlama belgesi
> "BM" == Bulent Murtezaoglu <[EMAIL PROTECTED]> writes: > "ES" == Emre Sevinc <[EMAIL PROTECTED]> writes: BM> [...] ES> Tabii bu UCW belgesi ile alakasi yok merak ettim fark nasil ES> gösterilir diye. "quote" special operator ile "list" ES> fonksiyonu kullanilarak olusturulan liste arasinda ne fark ES> var? Tek ve basit bir hareketle nasil gösterilir? BM> Garantili degil ama sbcl icin, mesela: CL-USER> (defun test () (let ((foo '(1 2 3))) (print foo) (rplaca CL-USER> foo 3) (print foo))) BM> ; in: LAMBDA NIL ; (RPLACA FOO 3) ; --> LET PROGN SETF ; ==> ; BM> (SB-KERNEL:%RPLACA #:ONCE-ONLY-0 3) ; ; caught WARNING: ; BM> Destructive function SB-KERNEL:%RPLACA called on constant BM> data. ; See also: ; The ANSI Standard, Special Operator QUOTE BM> ; The ANSI Standard, Section 3.2.2.3 ; ; compilation unit BM> finished ; caught 1 WARNING condition TEST CL-USER> (test) BM> (1 2 3) (3 2 3) BM> (3 2 3) CL-USER> (test) BM> (3 2 3) (3 2 3) (3 2 3) BM> Compiler quoted listleri sabit data olarak kullanabiliyor, BM> degisiklik yapilirsa programin kendisi degismis oluyor. BM> Yukaridaki fonksyon ikinci defa cagirildiginda o program BM> sourceunda gordugunuz (1 2 3) (3 2 3) haline gelmis oluyor BM> mesela. Eski FAQ'da bununla ilgili birsey vardi, ama bakmadim BM> simdi. SBCL yakaladi zaten gordugunuz gibi, ama yakalamasi BM> sart degildi. Detayli aciklama icin cok tesekkürler, tam da buna benzer bir seyi kast ediyordum. Baska türlü örnek verince pratik olarak o fark görünmüyor cünkü. BM> Baska bir suru ornek de dusunulebilir, simdi aklima bu geldi BM> sadece. Bu yeni baslayanlarin sIkca yapabildikleri bir hata BM> cunku. Ve kafa karistirici bir durum aslinda. Baslangicta, bu ince farki göremeyenler bu belgeyi okumasin UCW'ye de hic bulasmasin mi diyecegiz? (Denebilir tabii, prensip olarak itirazim olmaz esasen). Bu kritik bir örnek, bir tür yarilma noktasi bence. Dikktali olmakta fayda var. -- 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
Re: [cs-lisp] Re: Web programlama belgesi
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
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
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ç Yu
[cs-lisp] Re: Web programlama belgesi
> "ES" == Emre Sevinc <[EMAIL PROTECTED]> writes: [...] ES> Eline saglik bu kurdugun sistem icin. Hemen GNUS icinde w3m ES> ile baglanip baktim, oradan son sürüm .tex kodunu cekip ES> derleyip okuyorum su anda (HTML icin Rev 8 .tex icin 7 ES> görünüyordu sanirim). Bir de soyle seyler var benim bazen is icin kullandigim (kes yapistir yapiyorum asagida). Iste RCS icin versyon yazdiriyor, ustune acik gri kocaman caprazlama 'DRAFT' yaziyor, 'aman cok ozel ve gizli' (yahut sebil ettim alin n'aparsaniz yapin) diyor filan. Belki bu versyonu yedirmede ve baska islerde isinize yarar. \documentclass[12pt,letterpaper]{article} \usepackage{fancyhdr} \usepackage{draftcopy} \usepackage{color} \usepackage{rcs} \usepackage{graphicx} \topmargin =10.mm \oddsidemargin 0.1in % beyond 25.mm \evensidemargin 0.1in % beyond 25.mm \textwidth 6.4in \textheight 8.3in \parindent=0.0in \RCS $Date: 2005/06/13 09:46:33 $ \RCS $Revision: 1.2 $ \draftcopySetGrey{0.90} \definecolor{gray20}{rgb}{0.2,0.2,0.2} \definecolor{gray70}{rgb}{0.7,0.7,0.7} \pagestyle{fancy} \chead{\textcolor{gray70}{{\large PROPRIETARY INFORMATION} FOO Inc.}} \lfoot{Rev:\RCSRevision} 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
[cs-lisp] Re: Web programlama belgesi
> "ES" == Emre Sevinc <[EMAIL PROTECTED]> writes: [...] ES> Tabii bu UCW belgesi ile alakasi yok merak ettim fark nasil ES> gösterilir diye. "quote" special operator ile "list" ES> fonksiyonu kullanilarak olusturulan liste arasinda ne fark ES> var? Tek ve basit bir hareketle nasil gösterilir? Garantili degil ama sbcl icin, mesela: CL-USER> (defun test () (let ((foo '(1 2 3))) (print foo) (rplaca foo 3) (print foo))) ; in: LAMBDA NIL ; (RPLACA FOO 3) ; --> LET PROGN SETF ; ==> ; (SB-KERNEL:%RPLACA #:ONCE-ONLY-0 3) ; ; caught WARNING: ; Destructive function SB-KERNEL:%RPLACA called on constant data. ; See also: ; The ANSI Standard, Special Operator QUOTE ; The ANSI Standard, Section 3.2.2.3 ; ; compilation unit finished ; caught 1 WARNING condition TEST CL-USER> (test) (1 2 3) (3 2 3) (3 2 3) CL-USER> (test) (3 2 3) (3 2 3) (3 2 3) Compiler quoted listleri sabit data olarak kullanabiliyor, degisiklik yapilirsa programin kendisi degismis oluyor. Yukaridaki fonksyon ikinci defa cagirildiginda o program sourceunda gordugunuz (1 2 3) (3 2 3) haline gelmis oluyor mesela. Eski FAQ'da bununla ilgili birsey vardi, ama bakmadim simdi. SBCL yakaladi zaten gordugunuz gibi, ama yakalamasi sart degildi. Bu da lispworks mesela: CL-USER> (defun test1 () (let ((foo '(1 2 3))) (print foo) (rplaca foo 3) (print foo))) TEST1 CL-USER> (pprint #'test1) #.#'(LAMBDA () (DECLARE (LAMBDA-NAME TEST1)) (BLOCK TEST1 (LET ((FOO '(1 2 3))) (PRINT FOO) (RPLACA FOO 3) (PRINT FOO ; No value CL-USER> (test1) (1 2 3) (3 2 3) (3 2 3) CL-USER> (pprint #'test1) #.#'(LAMBDA () (DECLARE (LAMBDA-NAME TEST1)) (BLOCK TEST1 (LET ((FOO '(3 2 3))) (PRINT FOO) (RPLACA FOO 3) (PRINT FOO ; No value CL-USER> Program sourecunun bulunmasi sart degil tabii: CL-USER> (compile 'test1) TEST1 NIL NIL CL-USER> (test1) (3 2 3) (3 2 3) (3 2 3) CL-USER> (pprint #'test1) # ; No value CL-USER> Baska bir suru ornek de dusunulebilir, simdi aklima bu geldi sadece. Bu yeni baslayanlarin sIkca yapabildikleri bir hata cunku. 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
Re: [cs-lisp] Re: Web programlama belgesi
Sal, 2006-01-10 tarihinde 18:36 +0200 saatinde, Emre Sevinc yazdı: > > "TY" == Tonguc Yumruk <[EMAIL PROTECTED]> writes: > 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? Bu işe yarar mı? CL-USER> '((* 2 3) 6) ((* 2 3) 6) CL-USER> (list (* 2 3) 6) (6 6) CL-USER> [ ... ] -- 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
[cs-lisp] Re: Web programlama belgesi
> "TY" == Tonguc Yumruk <[EMAIL PROTECTED]> writes: TY> Merhaba, HeVeA sağolsun, depoya html sürümünü de ekledim, TY> ancak sanırım SVN'in kendi zımbırtısı http başlıkları TY> konusunda pek başarılı değil, sayfa plain text olarak TY> görüntüleniyor. Yine de adresi şudur: TY> http://tonguc.ath.cx/svn/Writings/UnCommonWebProgrammingWithCL/ucwpwcl-1.html TY> Ayrıca sonunda dayanamadım, bir de viewcvs kurdum. Ona da şu TY> adresten erişilebilir: TY> http://tonguc.ath.cx/cgi-bin/viewcvs.cgi Bu html dosyalarını TY> göndermede vs... çok daha başarılı. 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). Bir harf hatasi: "... yapay zeka arastirmlarindan ... " kisminda "arastirmalarindan" olmali. 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? 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. "ilklendirilirken" icin dipnot düsülmüs ve 4 numarali dipnotta "instantiation" denmis. Hani bu "initialization" idi? Hangisi hangisi? Halen metod kombinasyonu oradaki yerini koruyor. Ben hala kafa karistirici olabilecegini düsünüyorum ve elzem degilse simdilik bahsedilmemesi gerektigini. 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. Simdilik gözüme carpanlar bunlar. -- 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
[cs-lisp] Re: Web programlama belgesi
Bir de bu aklima geldi. Fena bir ozet degil ama daha cok CLtL1->ANSI/CLOS gecisi icin yapilmis galiba. http://www.aiai.ed.ac.uk/~jeff/clos-guide.html 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
[cs-lisp] Re: Web programlama belgesi
(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
Re: [cs-lisp] Re: Web programlama belgesi
Thus saith Emre Sevinc : > 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. > İyi fikir, bunları eklemeli... > >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. > Açıkçası zaten yazdığım şeylerin nesne.metod = (metod nesne)'nin ötesine gitmemesini planlıyordum bende... Biraz uzadı tabii, onu kabul ediyorum... > > >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 ;-) > > "... 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. > "oluşturulurken" tek başına değil ama "sınıf örneği oluştrulurken" gibi kullanıldığında anlamlı oluyor aslında. > >> 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. Listenin diğer üyeleri bazen günde 3-5 ileti alıp bazen hiç almamaktan şikayet etmezlerse benim açımdan sorun yok. > 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. > Ben de bunu umuyorum. Bu arada bu belgenin yazımına katkıda bulunmak isteyenlere bir SVN hesabı sağlayabilirim. -- 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
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
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
[cs-lisp] Re: Web programlama belgesi
> "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
Re: [cs-lisp] Re: Web programlama belgesi
Pzt, 2006-01-09 tarihinde 23:07 +0200 saatinde, Evrim ULU 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". Bundan daha düzgünü http'den HEAD ile dosyanın değişip değişmediğine bakıp değişti ise çekmek/derlemek olsa gerek. fam (fileshanged) ile havuzu gözleyip, değiştiğinde çekip, çekilen alanı da fam ile izleyip, .tex dosyası değiştiğinde derlemek daha doğru olabilir. tabi sadece dosyanın bulunduğu dizin çekilirse 2 fam'a gerek olmayacaktır. en rahatı da Tonguç'un "svn commit" yerine "svn commit && scp ucw.dvi tonguc.ath.cx:/var/www/" yazması olur herhalde. ne de olsa commit'in hemen öncesinde "latex ucw.tex" demiştir. kimbilir belki benim gibi auctex + emacs'i source specials opsiyonu ile kullanıyordur ve sorunları temizledikten sonra emacs içinden commit ediyordur. o zaman da emacste post-commit hook'u vardır ve oradan yollayabilir sunucuya. hatta tramp da varsa kopyalamak için shell komutu çalıştırması gerekmez. son olarak belki de cron'a şunu eklemek iyi bir seçenek olabilir: wget -O /var/www/ucw.pdf \ http://canb.net/latex.sh?http://tonguc.ath.cx/svn/Writings/UnCommonWebProgrammingWithCL/ucwpwcl-1.tex hook'tan bu işleri yapmak neden tercih edilmiyor merak ettim. iyi geceler. > Saglicakla, > Evrim. -- 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
Tonguc Yumruk wrote: >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. > > > Mrb, Cok sevindim ucw belgesine:) Eline saglik. SVN sorununa gelince: http://svnbook.red-bean.com/nightly/en/svn.reposadmin.create.html#svn.reposadmin.create.hooks post-commit hook betigine istedigin eklemeyi yaparsan, dvi ciktisini istedigin yere yerlestirebilirsin. Bu yontemi ben pek sevmiyorum, repo'ya direq etkilesim bu tip i$lemler icin pek tercih edilmiyor. Bunun yerine cronjob olarak bir betik dosya ile svn'den checkout edip orada i$lem yapmak daha mantikli. Daha az "intrusive". Saglicakla, Evrim. ___ 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
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
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
[cs-lisp] Re: Web programlama belgesi
> "TY" == Tonguc Yumruk <[EMAIL PROTECTED]> writes: TY> Merhaba, Sonnda FZ'nin bazı kıtalararası balistik füzeleri TY> evimin tepesine yönlendirmesi üzerine düştüğüm tembellik TY> batağından uyanıp bir UCW ve CLSQL belgesi yazmaya TY> başladım. Sevindirici bir gelisme! ;-) Tehditlerim ise yariyor demek ki. TY> Henüz başlangıç halinde gerçi ama SVN üzerinde TY> olduğu için şimdiden web üzerinden erişilebilir durumda. TY> Adresi: TY> http://tonguc.ath.cx/svn/Writings/UnCommonWebProgrammingWithCL/ucwpwcl-1.tex 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. TY> Belgeyi yazarken daha önce hiç CL ile OOP görmemiş insanları TY> da düşünerekten çok kısaca CLOS'tan da bahsetme ihtiyacı TY> duydum çünkü CLOS'a ilişkin birçok kavram daha ileride hem TY> UCW'de hem de CLSQL'de çok sık görünüyor. Bazı kelimelere TY> türkçe karşılık bulmakta zorlandığım için (mesela Generic TY> Function) orjinal halini kullandım, onun dışındakiler için TY> mümkün olduğunca türkçe karşılıklar bulmaya çalıştım ve TY> yazının içinde ilk kullanıldıkları yerde ingilizce TY> karşılıklarını parantez içinde belirttim. TY> Yazı hakkında eleştirileriniz, önerileriniz oldukça TY> yazabilirseniz sevinirim. -- Sevgi Saygı GNU/Linux 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. 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? "Slot" diye baslamissin ama sonra "yuva" demissin pek cok yerde. Hangisi olacagina karar vermekte fayda var. "ilklendirilirken" lafi hala cok oturmus bir laf degil gibi geliyor bana. Parantez icinde (initialize) filan bir sey yazilirsa faydali olabilir. Bu ilk bakista gözüme carpanlari not ettim. Belgeyi güncelledikce haber verirsen daha detayli ve keskin bakmaya calisirim. Simdilik bu kadar. -- 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