[cs-lisp] Re: Web programlama belgesi

2006-01-14 Başlik Emre Sevinc
> "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

2006-01-14 Başlik Emre Sevinc
> "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

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-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
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

2006-01-10 Başlik Bulent Murtezaoglu
> "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

2006-01-10 Başlik Bulent Murtezaoglu
> "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

2006-01-10 Başlik Can Burak Cilingir
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

2006-01-10 Başlik Emre Sevinc
> "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

2006-01-10 Başlik Bulent Murtezaoglu

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

2006-01-10 Başlik 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


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

2006-01-10 Başlik Tonguc Yumruk
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

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-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


[cs-lisp] Re: Web programlama belgesi

2006-01-09 Başlik 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


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

2006-01-09 Başlik Can Burak Cilingir
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

2006-01-09 Başlik Evrim ULU
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

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 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


[cs-lisp] Re: Web programlama belgesi

2006-01-09 Başlik Emre Sevinc
> "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