[cs-lisp] Core Server Belgeleri
Selam, Zamanı olan ve konuyla ilgilenebilecek arkadaşlar aşağıdaki adresteki belgeler hakkında yorum ve eleştiri yapabilirlerse çok mutlu olurum: http://labs.core.gen.tr/#documentation Örnek programlar inceleyebilir, ne tür örnekler gerçekleştirebileceğimiz konusunda da fikir verebilirsiniz: http://labs.core.gen.tr/repos/core-server/examples/ Sevgiler... -- aycan ___ 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] Askerin yaz rehaveti, yeni üyeler, akip giden hayat ve Lisp
[EMAIL PROTECTED] writes: ben www.core.com.tr ye girdim ingilizcem iyi değil site türkler için hazırlanmış olmasına rağmen tamamen ingilizce. ecnebiler bile sitelerinde dil seçeneklerinde türkçe ye yer vermelerine rağmen bizimkilerin yaptıklarını pek normal karşılamıyorum söyleyeyim. ben lisple heveslenerek ilgileniyordum. ancak hem çalışma saatlerimin çokluğundan hemde ingilizcemin az olmasından dolayı hevesim kursağımda kaldı. ingilizceye yeniden başlasam lispe ne zaman çalışacağım. ben biraz ingilizce dökünmanlardaki bilgileri gerek deneyerek gerekse ingilizceden yarım yamalak çevirerek not almaya başladım. sonra bilgisayarım çökünce o notlarım da gitti. ara verdim. eğer belli bir seviyeye ulaşsaydı hem sizlere kontrol ettirmek için hemde daha yeni başlayanlar için bu grup aracılığıyla yayınlayacaktım. notlara yeniden başladım ama hem hevesim kaçtı hemde üzerine o kadar yoğunlaşmadım. neyse kolay gelsin. Sevgili Kemal, Önerilerinde çok haklısın. Ancak bir de bizim açımızdan olayı değerlendirmeni isterim. Kısıtlı kaynaklarla bir proje geliştiriyoruz, zamanın yetersizliği nedeniyle bir çok dilde belge yazmak gerçekten mümkün olmuyor. Biz de bu nedenle dünyada genel olarak hakim dilde üretim yapmaya yönlendik. Yeterli kaynaklarımız olduğunda bu eksiğimizi gidermeyi çok isterim. Şimdilik projemize katkı sağlayabilecek bir topluluk oluşturabiliriz diye gelişmeleri ve yenilikleri hem Türkçe hem de İngilizce olarak ulaşabildiğimiz yerlere gönderebiliyoruz. Umarım durumumuzu anlatabilmişimdir. Sevgiler... -- aycan ___ 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] 1. Geleneksel(?) Ankara Lisp ve FP Zirvesi
Volkan YAZICI wrote: Merhaba, Ankara'da Lisp ve FP ile ilgilenenler (ve ilgi duyanlar) bir araya gelip sohbet tadında bir zirve yapacak olsa, bu teklife listede sıcak bakanlarımız olur mu acaba? (Core tayfası, Aytek'in bana sözü var hatırlatırım!) Bilader sen de gelicem dedin gelmedin ama, once sen sozunde dur :) Herkesi her an bekliyoz, adres web sitemizde. Sevgiler... -- aycan http://www.core.gen.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] Katılımcılar olsa, lisp progra mları yazsak.
Selam, Nasıl anlatabilirim bilmiyorum ama, bu listede common lisp programlama yapmak isteyen var mı acaba? Bir grup kütüphane ve buna bağlı bir web sunucu yazdık biz. Bunlara ayrıştırıcıların kolay birleştirilebilmesini sağlamak (parser combinators diye geçiyor sanırım literatürde, bunu volkan bir projesinde kullanmıştı, bkz. aliw), akışlar ile programlama (stream processing olarak geçiyor ancak bizim şimdilik yaptığımız genel bir akış modeli ortaya koymak oldu, kontrol noktaları belirleyebiliyor ve hata durumunda bu noktalara geri sarabiliyoruz akışı, ve tabi türlü veri tiplerini akışa çevirebiliyoruz), iş parçacıkları ile programlama (threaded programming diye geçiyor olmalı) ile birden fazla işlemci çekirdeğini kullanabiliyoruz. Bunları birleştirince fena kodlar çıkmadı. Yani karakter dizisinden, veri tipine, veri tipinden ise karakter dizisine dönüşümleri sağlayan parser ve render yazabiliyoruz bunlarla. Örnek vermek gerekirse (zom: zero-or-more, :fixnum? ise diğer bir ayrıştırıcı v.b.): (defrule version? (version d) (:fixnum? d) (:do (push d version)) (:zom #\. (:fixnum? d) (:do (push d version))) (:return (nreverse version))) (defrule http-protocol? (version) (:seq HTTP/) (:version? version) (:return (list 'HTTP version))) Http başlığındaki sürüm bilgisini bu iki (ve ilkel diğer birleştireçler) ayrıştırıcının birleşmesi sonucu ayıklıyoruz akış içerisinden. SERVER (with-core-stream (s HTTP/1.1) (http-protocol? s)) (HTTP (1 1)) Ayrıştırıcılar lisp dünyasının temel veri tipi olan anlamlı listeler dönüyor gördüğünüz gibi. Bunun tersi olan işlem ise liste tiplerini karakter dizisi olarak ifade edebilmeyi sağlayan betimleyiciler. Bizim rfc2616 gerçekleştirimimizin testlerinden buna bir örnek vermek gerekirse: (deftest http-location! (with-core-stream (s ) (http-location! s (make-uri :scheme http :username john :password foo :server 127.0.0.1 :port 8080 :paths '((test) (me) (up.html (equal (return-stream s) http://john:[EMAIL PROTECTED]:8080/test/me/up.html)) t) Burada betimleyicinin karmaşık bir liste alması yerine daha basit bir veri yapısı kullanıldığını görüyorsunuz (uri sınıfı). Bu veri yapısını akışa yazan bir test, ve akıştaki veriyi alıp olması gereken karakter dizisi ile karşılaştırıyoruz. Bu akışlar ve bunların üzerinde çalışan ayrıştırıcılar oldukça faydalı. HTTP belirtimini okuyup sırasıyla bütün BNF'yi gerçekleştirebiliyoruz (bunun benzeri ve hatta daha kuvvetli olanı haskell'de parsec, ve BNF'den doğrudan ayrıştırıcı yaratan happy var). Bahsedebileceğim diğer bir özellik ise iş parçacıklarını kolay kullanabilmemizi sağlayan kodlar. Örneğin sunucumuz için gerekli olan basit kayıt defteri aşağıdaki gibi programlanabiliyor. (defclass logger-server (local-unit) ((log-stream :accessor log-stream :initarg :log-stream :initform nil) (log-path :accessor log-path :initarg :log-path :initform (default-log-path (defmethod/unit log-me-raw :async-no-return ((self logger-server) message) (string! (log-stream self) message) (char! (log-stream self) #\Newline)) İşin güzel yanı burada iş parçacığına özel bir programlama görmüyorsunuz. Ancak logger-server sınıfından bir örnek yaratıp çalıştırdığınızda (bunun bir start metodu var) diğer iş parçacıkları log-me-raw adlı metodu eş zamanlı olarak çağırabiliyor ve sihirli bir şekilde bu çağırımlar girişmeden, sıralı olarak işliyor. SERVER (defparameter *logger1* (make-instance 'logger-server :log-stream *standard-output*)) *LOGGER1* SERVER (start *logger1*) NIL SERVER (log-me-raw *logger1* core.gen.tr iz c00l) core.gen.tr iz c00l Bunu 40 iş parçacığıyla test edince çıktının tertemiz olduğunu görebiliyoruz: (defparameter *logger* (make-instance 'logger-server)) (defclass my-worker (local-unit) ((id :accessor id :initarg :id))) (defmethod/unit logmeup :async-no-return ((self my-worker)) (log-me *logger* (format nil I'm here as number ~D (id self (defparameter *workerz* (loop for i from 1 to 40 collect (make-instance 'my-worker :id i))) (defun setup-loggerz () (start *logger*) (mapcar #'start *workerz*) (mapcar #'logmeup *workerz*) (mapcar #'stop *workerz*) (sleep 5) (stop *logger*)) Bunların yanında bir de sürdürmeleri kullanan web sunucumuz var artık. Eskiden ucw kullanıyorduk ancak küfür ede ede onu bıraktık şimdi daha işlevsel olmasını istediğimiz yeni bir sunucu bileşeni yazıyoruz. Sunucu doğal olarak ucw+ gibi ajax desteklesin istedik, ve şu an yavaş yavaş yeni sunucu altyapısı oluşuyor. Sonuç olarak bu kodlara göz atmak isteyenler aşağıdaki adresi kullanabilirler: http://www.core.gen.tr/projects/core-server/ Sunucuyu kurmak isteyenler aşağıdaki bağlantıdaki kurulum paketini kullanabilirler.
Re: [cs-lisp] Re: sual 3
Aycan iRiCAN wrote: Volkan YAZICI wrote: {0} demiş ki: Listemi islemden gecirip ... İşlemden geçirmek ile, bir tür sıralamayı kast ettiğinizi varsayıyorum. ... her bir elemaninin basina sira no'sunu nasil ekleyebilirim. (loop for item in (sort list pred) for idx from 0 collect (cons idx item)) Ama sizin yerinizde olsam (coerce (sort list pred) 'vector) tarzı bir şey kullanırdım. Bunun genel adı zip diye biliyorum. Örneğin elinizdeki listeyi, birden sonsuza sayılar listesi ile birebir işleme sokuyorsunuz. Bu genel özelliği CL'de acemice aşağıdaki gibi ifade edebilir miyiz acaba? (defun zip (fn rest lsts) (if (any #'null lsts) nil (cons (apply fn (mapcar #'car lsts)) (apply #'zip fn (mapcar #'cdr lsts) (defun any (fn lst) (if (member nil lst) (or (funcall fn (car lst)) (any fn (cdr lst))) nil)) Ya da çözümü CL'ye özelleştirerek; CL-USER (let ((mylist '(a b c d e f))) (mapcar #'cons (core-server::seq (length mylist)) mylist)) ((0 . A) (1 . B) (2 . C) (3 . D) (4 . E) (5 . F)) Fermuar yönteminin herhangi bir döngüden daha iyi olduğunu düşünüyorum. CL-USER (let ((mylist '(a b c d e f))) (zip #'list (core-server::seq (length mylist)) mylist)) ((0 A) (1 B) (2 C) (3 D) (4 E) (5 F)) Bu işlem haskell'de çok basit, zip [1..] mylist şeklinde bir ifade yetiyor ki bu yüzden seviyoruz onu. Prelude zip [1..] abc [(1,'a'),(2,'b'),(3,'c')] Sevgiler... -- Aycan iRiCAN Kor Bilişim Ltd. Şti. http://www.core.gen.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: Bram Cohen'in İşe Alma Sorusu (Merhaba Liste)
Alp Özmert yazmış: Selam! Selem [EMAIL PROTECTED] yazmış: -- What is the exponent of the largest power of two whose base seven representation doesn't contain three zeros in a row? Hiç de optimal olmayan bir çözüm: (do ((i 1 (1- i))) ((not (search 000 (write-to-string (expt 2 i) :base 7))) i)) Bu soru ile uğraşırken çözemediğim bir problem ile karşılaştım. Bu betiği onbin değil de yüzbinden geri saydırınca tabii ki de zaman alıyor. Ben de bir kaç kere bölüp nerelerde olduğuna bakmak istedim ama beceremedim. (Bölüp değişkenlerin değerlerine işlev çağrılarına falan bakabiliyorum ama i'nin değerini bulamadım.) Yardımcı olabilecek olursa sevinirim. Saygılar, Alp Özmert http://hpaste.org/2240 Acemi bir programcı olarak ben de aynı deneme yanılma çözümünü haskell ile denedim. İlginç bir problemmiş, üzerinde düşünmesi bile eğitici. Teşekkürler. Sevgiler... -- aycan ___ 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] tür imzalarından kod çıkarsamak
Selam, Konu haskell'le irdelenmiş ama şu an üzerinde çalıştığımız derleyicinin de lisp'le yaptığı farklı bişey değil gibi geldi bana. Ne de güzel konuşuyor, nasıl güzel konuşuyor bir görseniz bu abimiz. Neden bir sürü konuda görüntü var da bizim ilgimizi çeken az görüntü var bu internette diye homurdanıyorum. http://tinyurl.com/ynjr8s Sevgiler... -- aycan* * ___ 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] UCW+ - Apache Problemi
Zekeriya KOC yazmış: Merhaba, http://people.core.gen.tr/~aycan.irican/web/publish/WebGelistirme.html adresindeki belgeyi kullanarak UCW+ kütüphanesini kullanmaya çalışıyorum. Şöyle bir sorunum var. Apache konfigurasyonunda sonu ucw ile biten istekleri 3001 portunda dinlemede olan lisp serverına yönlendirdim belgedeki gibi. Peki benim lisp serverımı bu porttan çalıştırmam için ne yapmam gerekir? Yani normalde boxseti yüklediğimde 4005 portta bir swank sunucu çalıştırıyor, bu 3001 nolu port da aynı şekilde mi kullanılacak demek? Yani 3001 portundan dinleyen bir swank sunucuya mı ihtiyacım olacak? Selam, Swank sadece emacs ile lisp makinanıza bağlanmak için. Apache'deki lisp modülünün gelen istekleri lisp makinanıza gönderebilmesi için yarattığınız sunucunun mod-lisp-backend ile çalışması yeterli. Sunucunuzu aşağıdaki gibi tanımlayabilirsiniz. (defclass example-server (apache-server ucw-server) () (:default-initargs :name example)) Öntanımlı olarak bu sunucu mod-lisp ile çalışır ve 127.0.0.1:3001 yuvasından istekleri bekler. Farklı ayarlar verebilmek için aşağıdaki gibi de tanımlayabilirsiniz. (defclass example-server (apache-server ucw-server) () (:default-initargs :name example :backend (ucw::make-backend :mod-lisp :host 0.0.0.0 :port 4242))) Son olarak sunucuyu çalıştırmak için: (defvar *server* (make-instance 'example-server)) (start *server*) Önemli not: Apache sunucunuzdaki /dojo/ dizinine dojo kütüphanesini koymayı unutmayın. http://localhost/dojo/dojo.js dosyasına erişebiliyor olmanız lazım. ucw+-boxset içinde dojo kütüphanesini ucw_dev/wwwroot/dojo dizininde bulabilirsiniz. Sevgiler... -- aycan ___ 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] A Lisp in Wonderland!
Volkan YAZICI wrote: Herkese Merhaba, Yaklaşık 1, 1.5 aydır bir wiki yapma gayreti içindeydim ve bugün ASDF ile yüklenebilir bir prototip oluşturmayı başardım. Adını A Lisp in Wonderland koyduğum wiki'nin özellikleri şu şekilde: 1. DTD dosyası ile belirlenmiş, kendine ait bir sözdizimine sahip. Sayfadaki başlıklar (H1, H2, H3) için içerik (TOC) menüsü oluşturmaktan, sayfadaki dış bağlantıları (link type=external ...) listelemeye kadar (EXTERNAL-LINKS), markup ile sunduğumuz makrolar da oldukça leziz. 2. Ulaşılacak olan path'ler, ayrı bir mekanizma ile saklanıyor. Şöyle ki, istemci tarafından girilen her bir URI, WIKI-PATH sınıflarına çözümleniyor, bu WIKI-PATH sınıfları da birden fazla biçimde saklanabilip, bu biçimler arası dönüşüm yapılabiliyor. Örneğin: (wiki-path-from :uri /page/Documents/Installation) (wiki-path-from :label page:Documents/Installation) (wiki-path-from-to :label page:Foo/Bar/Baz :uri) Ve daha 3-5 biçim daha var. Bu WIKI-PATH olgusu wiki'yi kullanacak kişi açısından bir anlam ifade etmese de, wiki'yi geliştirmek için programcıya oldukça kullanışlı bir API sunuyor. (Aslında bir çok işlem (her şey?) API aracılığı ile yapılıyor. Programcı, sayfanın içeriği hangi klasörde, ne biçimde saklanıyor, vs... ve daha bir çok şeyi bilmek zorunda değil.) 3. Her bir URI'in kendine ait bir wiki-path değeri var. Şu an sadece :account ve :page path'leri desteklenmesine rağmen, 1-2 hafta içinde :file ve :image path tiplerini de ekleyeceğim. (Epey bir XmlHttpRequest çalışması gerekecek.) 4. Gelişmiş history, raw source, editing, previewing, diffing arayüzleri. (Bakın _gelişmiş_ diyorum!) 5. Şu an için account:Create sayfasını oluşturmadım. (Çünkü bunu nasıl yapacağıma tam karar veremediğim gibi, burada zaman kaybetmek de istemedim. Kullanıcıdan e-posta yoluyla onaylama mı bekleyelim, yoksa direk sorgusuz sualsiz kayıt mı edelim?) Ama tüm veri düz metin/lisp dosyaları halinde tutulduğundan, şimdilik kullanıcı hesaplarını elle oluşturmak çok kolay: shell$ echo '(:PASSWORD 48F93C6A0ED7177E316BFB493AC6198A :EMAIL [EMAIL PROTECTED])' /accounts/VolkanYAZICI Bir çırpıda, bahsetmek istediğim önemli noktalar bunlar. Gruptan asıl ricam, bana SVN/CVS/Darcs ve lisp sunucusu için yardımcı olabilecek birilerinin olup olmadığı. Unutmadan, deneme sürüşü için http://www.students.itu.edu.tr/~yazicivo/aliw.tar.gz adresinden paketi çekip ASDF ile kurduktan sonra (in-package :aliw) (defparameter *site* (start-server :port 8080 :address 127.0.0.1)) komutu ile sunucuyu çalıştırıp, internet tarayıcınız ile deneme sürüşüne çıkabilirsiniz. (`test' kullanıcısı ile SignIn olabilirsiniz. Şifre `test'.) İyi çalışmalar. Size her türlü konuda yardımcı olmaktan keyif duyarız. İstanbul'daki sunucumuzda size hesap açalım. Orada darcs, git gibi araçlar var, lisp makinası, screen ve emacs var. Uzaktan terminal bağlantısı ile bağlanabilirsiniz. Yardım edebileceğimiz diğer konuları da bildirirseniz elimizden geleni yaparız. Sevgiler... -- Aycan iRiCAN Kor Bilişim Ltd. Şti. http://www.core.gen.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: A Lisp in Wonderland!
Volkan YAZICI wrote: Aycan iRiCAN [EMAIL PROTECTED] writes: Size her türlü konuda yardımcı olmaktan keyif duyarız. İstanbul'daki sunucumuzda size hesap açalım. Orada darcs, git gibi araçlar var, lisp makinası, screen ve emacs var. Uzaktan terminal bağlantısı ile bağlanabilirsiniz. Bunlar bana fazlasıyla yeter de artar. Gerçekten çok teşekkür ederim. Bu hafta biraz dişimi sıkıp :file ve :image wiki-path desteklerini de ekledikten sonra versiyon kontrol sistemine ilk sürümü yerleştirebiliriz. (Yani en kısa zamanda size tekrar geri döneceğim.) Gelişmeleri heyecanla bekliyoruz :) Sevgiler... -- Aycan iRiCAN Kor Bilişim Ltd. Şti. http://www.core.gen.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] Emacs Web Geliştirme Ortamı Dev am
tasarımın uygulanabilirliği üzerine düşünüyor ve gerekli durumlarda tasarımcıdan güncellemeler talep ediyoruz. Bu tasarımı bir makina sunacağı için sayısallaştırmak, işleri kolaylaştırmak için uygulamayı soyutlayarak modellemek ve bir akış mantığı kurmak gerekiyor. Bunu da lisp programcıları sürdürmeler ve nesnel programlama ile yapabiliyorlar. Bir giriş kutucuğu (login box) düşünecek olursak. Bu sayfanın soyut modelini nesnel olarak bileşenlerle aşağıdaki gibi kurulabiliyor. (defcomponent login-box (ajax-widget) ((username ...) (password ...)) (:default-initargs :dom-id login-box)) (defmethod render (lb login-box) (:form :id login-form :method post :action # (:input :type text :name username :id uname) (:input :type password :name password :id pass) (:input :type submit :value giriş :action (if (authenticated? login-box) (call 'secure-main Buraya kadar bileşeni ve bileşenin nasıl görüntüleneceğini yazdım. HTML çıktıyla birlikte giriş tuşunun ne işlevi olduğunu da ekledim. Ancak dileyen programcı bu işlevi aşağıdaki gibi de verebiliyor (belirteyim, benim tanıdığım programcılar bu ayrımı kullanmayı tercih etmiyorlar). (defmethod render-javascript (lb login-box) (ec :element login-form :event onsubmit :action )) (defserver-action submit-login (lb login-box) (server side code...)) (defclient-action submit-login (lb login-box) (client js code...)) Burada tanımlı javascript çıktısı elbette sayfanın içerisinde HTML ile birlikte girişimli olarak üretilmiyor. Tanımladığımız her javascript controller.js adlı kontrol dosyası olarak üretilerek HTML sayfamıza bağlanıyor. HTML çıktının nasıl bir görsel ile destekleneceğini ise aşağıdaki gibi programlayabiliyoruz. Burada programlayabilmekten kastım, oluşturulacak CSS çıktısının dinamik olarak (sunucu tarafındaki modele de bağlı olabilerek) oluşturulabilmesi. (defmethod render-css (lb login-box) (:css #login-box :background-color (get-user-color (current-user)) :color black)) Gene buradaki CSS çıktısı da sayfamıza style.css adıyla bağlanıyor. HTML içerisine girişmiyor. Ayrıca bütün kodlamayı dikey olarak lisp ile yapabilmemiz, gelişmiş özellikleri de kullanabilmemize olanak veriyor. Burada her problemi çözen bir şeyden bahsetmiyorum. Sadece geliştiricilerin daha hızlı uygulama geliştirmesine olanak sağlamaktan bahsediyorum. Bu örneklerle siz nasıl bir şeyler beklerdiniz? Sizin karşılaştığınız problemler neler ve nasıl çözümler önerebilirsiniz? Yorumlarınızı bekliyorum. Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://people.core.gen.tr/~aycan.irican/ ___ 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] Emacs Web Geliştirme Ortamı
ahmet usal wrote: Emacs ile web sitesi hazırlama imkanlarını anlatmaya çalıştığım bir-iki yazı yazdım. Programcı değilim ama Emacs ile ilgiliyim:) Yine Xemacs ortamı için hazırlanmış bir kaç modu da GNU-Emacs ta çalıştırmayı başardım. Şu adresten görülebilir : http://hiziremacs.blogspot.com/ Not: Zayıf ingilizce ile bir de http://mewde.blogspot.com ve http://code.google.com/p/mewde sayfalarını hazırladım ki; şu an bile pişmanım. Nedenlerini ilk verdiğim linkte anlatmaya çalıştım. Bir yılı aşkındır tüm yazı ve web kodlama işlerimi Emacs ile yapıyorum. Birikenler ben ne seviyede olursam olayım (ki daha acemi olduğumu biliyorum) yararlı olabilir düşüncesiyle buraya linkleri ekledim. Herkese kolay gelsin, saygılarımla... -- aHmeTus Selam, Yazınızın oldukça tanıtıcı olduğunu düşünüyorum paylaştığınız için teşekkürler. Belki bir iki proje örneğinde hangi kipten nasıl yararlandığınızı da anlatabilir, böylece kiplerin işlevini somutlaştırabilirsiniz. Sayenizde ben de yeni kiplerden haberdar oluyorum. Ancak belirtmek istediğim bir konu var. Web tasarımcıları her nedense görsel araçları daha çok tercih ediyorlar. Yani programlama yapan kişiler işlevlere ve kullandıkları dilin gücüne sarılıyor, tasarımcılar ise zor işleri öğrenme konusuna biraz mesafeli durarak sınırları olsa dahi kolay ve görsel olan araçlara yakınlaşıyorlar. Bu nedenle sizin anlattığınız kipler ve bizim lisp'le HTML üretme yöntemlerimiz popülerliğini kaybediyor diye düşünüyorum. Kısaca bahsettiğim takıma bir tasarımcı girdiğinde ortaya çıkan problemler. scheme'deki ssax kütüphanesi bence bu açığı kapatmak için çok iyi bir alternatif. ssax sayesinde tasarımcıların üretimlerinden çıkarımlar yapmak (herhangi bir XML diziyi ayıklamak, özel işaretlemeler yerine kodlar koymak ve oluşan diziyi yayımlamak gibi) ve bunu programatik olarak kullanmak mümkün gibi görünüyor ve bence popüler olabilecek bir yöntem varsa şimdilik gelecekte ssax ve türevleri görünüyor. Sevgiler... -- Aycan iRiCAN Kor Bilişim Ltd. Şti. http://www.core.gen.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: CL ile İnternet Sunucusu
Volkan YAZICI [EMAIL PROTECTED] writes: Aycan iRiCAN [EMAIL PROTECTED] writes: UCW+'yı denediniz mi? Hangi internet sunucusu ile? İnternet sunucusu nedir? http://labs.core.gen.tr/ucw-plus/index.ucw Sanırım buradaki formlarda bir sorun var, istendiği gibi çalışmıyor sanki. Yoksa ben mi yanlış anladım? Haklısınız, test sayfalarını bu gün zaman bulup düzeltelim. Fakat siz bir inceleyin. Sorularınız olursa sorun, eleştirin, tartışalım ki daha iyi birşeyler ortaya koyabilelim. Ben beğeneceğinize eminim. İddalıyım, dünyanın en iyi AJAX çatısının kaynak kodlarını göreceksiniz. Sevgiler... -- Aycan iRiCAN KOR Bilişim Teknolojileri http://www.core.gen.tr/ ___ cs-lisp mailing list [EMAIL PROTECTED] http://church.cs.bilgi.edu.tr/lcg http://cs.bilgi.edu.tr/mailman/listinfo/cs-lisp
[cs-lisp] nixos
Biz bir heyecanla kurduk. Pardus'u aramızda tartışırken ortaya atılan tüm fikirleri neredeyse gerçekleştirmişler. Tabi kullanımı henüz biraz karmaşık. İşlevsel programlamayı seven arkadaşların ilgisini çekecektir. http://www.cs.uu.nl/~eelco/pubs/phd-thesis.pdf http://nix.cs.uu.nl/index.html Sevgiler... -- Aycan iRiCAN KOR Bilişim Teknolojileri http://www.core.gen.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] Emacs - eLisp - Java - Getter/Setter meto tları.
[EMAIL PROTECTED] (Cafer Şimşek) writes: Selam, Emacs ile daha çok Java kodu yazdığımdan sıklıkla ihtiyaç duyduğum bir özelliği (getter/setter'ların otomatik eklenmesi) basit bir elisp fonksiyonu şeklinde buldum[1]. Ancak bu haliyle beni tatmin etmedi açıkçası. Her değişken için ayrı ayrı girmek zor geldi. (e)lisp bilgim olmadığı için aynı işi istediğim gibi yapan bir Perl betiği yazdım[2]. Ancak bunu Emacs içinden kullanabilmem için bir yöntem olup olmadığını merak ediyorum. En basitinden aktif buffer'ı alıp yazdığım betiğe standart girdiden gönderip, betik çıktısını da etkin buffer'daki içerik ile değiştirebilecek bir elisp fonksiyonuna ihitiyacım var. Şimdiden teşekkürler. [1] http://jspwiki.org/wiki/InsertingGettersAndSettersInEmacs [2] http://rafb.net/p/6Q7qV065.html Java için tanımlanabilecek bir iskelet kullanmayı düşünür müsünüz? CL için bir örnek yazmıştım: (define-skeleton defclass-skeleton Make a class declaration nil '(setq class-name (skeleton-read Class Name:)) (defclass class-name () \n (Slot Name: (( str :accessor class-name . str :initarg str )) \n) )) M-x defclass-skeleton Sevgiler... -- Aycan iRiCAN KOR Bilişim Teknolojileri http://www.core.gen.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: Merhaba
Vehbi Sinan Tunalioglu [EMAIL PROTECTED] writes: Emre == Emre Sevinç [EMAIL PROTECTED] writes: Emre Bir yanlis anlama oldu sanirim, o dedigim sözlerin ILC organizasyonu Emre ile dogrudan bir alakasi yok, 2008 yilinda ECLM yani Emre European Common Lisp Meeting yapilacak, ama nerede Emre yapilacak? Biz isteriz ki Istanbul'da yapilsin, onun icin Emre kulis yapilsin diye :) Hem burada yasayip da yurtdisindaki Emre bazi Lispcileri bizzat taniyanlarin da selami gitmis olur, Emre tatli yenir tatli konusulur. (Vakti zamaninda debconf Emre Istanbul'da yapilsin diye de az kulis yapilmamisti güvenilir Emre kaynaklardan aldigim bilgiye göre ;-) Amacimiz o... Selaminizi iletecegiz. Emre ILC organizasyonunun kendisine gelince herhalde konaklama, Emre sosyal faaliyetler, konferans kitabi, vs. gibi birtakim Emre seyler vardir, o yüzden katilim parasi aliniyor olabilir, Emre uluslararasi bu tür konferanslarda (Türkiye'dekiler dahil) Emre buna yakin bedeller talep edilmesi norm disi bir sey degil Emre bildigim kadari ile. Emin olun cok cok daha pahali konferanslar var :) Ben bir konferans düzenleyecek olsaydım, katılımcılar para vermesin diye sponsorlar bulurdum. Param yetmediği için gidemediğim konferanslar olsaydı, konferansın katılım parası hakkında dırdır yapar, onları daha az para vereceğim konferanslar düzenlemeye zorlardım. Tabi, hepimizin parası var. Bunlara hiç gerek yok, değil mi. Sevgiler... -- Aycan iRiCAN KOR Bilişim Teknolojileri http://www.core.gen.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] [Aycan iRiCAN] Re: [gambit-list] ssax-sxml for gambc-4.0b21
Belki kullanan vardir adamızda sizlere de iletiyorum. ---BeginMessage--- Aycan iRiCAN [EMAIL PROTECTED] writes: Here is the proper Makefile of ssax-sxml-gambit-060529.tgz for gambit 4.0 beta 21. You should change the prefix variable before using this Makefile. Best Regards, This a slightly modified Makefile that creates a shared-library and a loadable library for ssax-sxml-gambit-060529.tgz. Here is an example transcript for loadable ssax-sxml library. ssax-sxml $ gsi Gambit Version 4.0 beta 21 (load ssax-sxml) /tmp/ssax-sxml/ssax-sxml.o1 (ssax:xml-sxml (open-input-string examplePeace at home, peace in the world./example) '()) (*TOP* (example Peace at home, peace in the world.)) (sxml:document http://library.readscheme.org; '()) (*TOP* (html (head (title Bibliography of Scheme-related Research) (meta (@ (name generator) (content SchemeBib and Site-ML))) (meta (@ (name description) (content Online bibliography of Scheme research))) (meta (@ (name keywords) (content Scheme, bibliography, research))) ... ... Best Regards, Makefile Description: Binary data -- Aycan iRiCAN KOR Bilişim Teknolojileri http://www.core.gen.tr/ ---End Message--- -- Aycan iRiCAN KOR Bilişim Teknolojileri http://www.core.gen.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] Fonksiyon Gölgeleme
Volkan YAZICI [EMAIL PROTECTED] writes: Merhaba, CL'de dinamik değişkenleri (let ((*glob-var* newval) ...) ...) şeklinde gölgeleyebildiğimiz gibi, benzer şekilde fonksiyonları da dynamic scope çerçevesinde gölgelememiz mümkün mü? Merak ettiğim, (örnek olarak) MAP fonksiyonunun bizim belirttiğimiz CONS fonksiyonunu kullanmasını sağlayabilir miyiz? Eğer böyle bir şey mümkün değilse, benzer bir durumda MAP fonksiyonunu baştan yazmak dışında alternatiflerimiz neler? Dynamically scoped functions as the essence of AOP, Pascal Costanza http://doi.acm.org/10.1145/944579.944587 Sevgiler... -- Aycan iRiCAN KOR Bilişim Teknolojileri http://www.core.gen.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] iskeletler
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Selam, Belki ilgi çekici olabilir, http://www.teargas.org/teargas/blog.ucw?id=1632 Sevgiler... - -- Aycan iRiCAN KOR Bilişim Teknolojileri http://www.core.gen.tr/ -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.1 (GNU/Linux) iD4DBQFFs5OkJZJwgy0AK78RAlgAAJdl1tqBTMQiUYQR+6MBNhst99vQAJ9Yvf0y TUb3RvPywVT4D99hkuy0qw== =1Vx+ -END PGP 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] Pardus
Aycan iRiCAN [EMAIL PROTECTED] writes: Aycan iRiCAN [EMAIL PROTECTED] writes: Aycan iRiCAN [EMAIL PROTECTED] writes: Selam, Pardus'a kurumsal destek veren bir firma olarak lisp geliştirme araçlarını paket haline getiriyoruz. Sizlerden de geribildirim alıp eksik paketleri oluşturmak ve pardus kullanıcıları için lisp geliştirme paketlerini kullanılabilir kılmak istiyoruz. Aşağıda birkaç gün içinde oluşturduğumuz paketlerin listesi var. - emacs-cvs (bu paket zaten pardus ile geliyor) - w3m - emacs-w3m - bbdb - sbcl - cmucl - darcs - ghc - drscheme (360) - parenscript - slime bu listeye eklendi. Sevgiler... -- Aycan iRiCAN KOR Bilişim Teknolojileri http://www.core.gen.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] Pardus
Selam, Pardus'a kurumsal destek veren bir firma olarak lisp geliştirme araçlarını paket haline getiriyoruz. Sizlerden de geribildirim alıp eksik paketleri oluşturmak ve pardus kullanıcıları için lisp geliştirme paketlerini kullanılabilir kılmak istiyoruz. Aşağıda birkaç gün içinde oluşturduğumuz paketlerin listesi var. - emacs-cvs (bu paket zaten pardus ile geliyor) - w3m - emacs-w3m - bbdb - sbcl Uygulamalar ve bunların kurulum stratejileri (ki bu alan biraz problemli biliyorum) hakkındaki deneyim ve katkılarınızı bekliyoruz. Sevgiler... -- Aycan iRiCAN KOR Bilişim Teknolojileri http://www.core.gen.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: inet-tr 11, 2006 Internet Konferansi
Alp Özmert yazmış: iRiCAN == Aycan iRiCAN [EMAIL PROTECTED] writes: iRiCAN Öncelikle sunumun görüntü olarak sayısal ortama iRiCAN aktarılması gerçekten çok faydalı olmuş. Arkadaşınıza ve iRiCAN size core.gen.tr adına çok teşekkür ederim. Bu görüntüyü iRiCAN google görüntü sitesine gönderip daha fazla kişinin iRiCAN faydalanmasını sağlamayı düşünüyoruz, eğer sizin için de iRiCAN uygun olursa. Rica ederim, biz teşekkür ederiz. :) Tabi uygun. Gerçi sunum gözükmüyor bu arada sunumu ben de toplantı sayfasında bulamadım. videos.google.com'da lisp kelimesini ararsanız ikinci sonuçta görüntüyü ve sunumla ilgili bağlantıları bulabilirsiniz. Katkılarınız için tekrar teşekkür ederiz. iRiCAN Bu tür görüntüleri yeni ofisimizde planlı bir şekilde iRiCAN çoğaltmayı düşünüyoruz. Böylece CL hakkında ana dilde daha iRiCAN fazla öğretim görüntüsü oluşturarak Türkiye'de CL iRiCAN kullanımının arttırılmasına katkı sağlamayı iRiCAN hedefliyoruz. Bu konudaki çalışmalarımıza katkı sağlamak iRiCAN isteyen herkese kapımız sonuna kadar açık. İster yeni iRiCAN başlayın, ister deneyimli olun bu tür çalışmaların iRiCAN sizlerin desteğine ihtiyacı var. Harika olur. Doğrusu anadildeki terimlerin anlayışı ve kavramayı geliştirdiğini düşünüyorum. Bu çok sevindirici. Konuyla ilgili çalışmalarımızı arttırdıkça bu açlığımızı da hep beraber doyuracağız gibi görünüyor. Bunun ilk izlerini zaten cs-lisp listesindeki arkadaşlarla bırakmıştık. Bizim katılımımızdan önce de elbette bir bilgi birikimi mevcuttu. Hepsini toparlayıp bu çalışmaları planlarsak sanırım amaçlarımıza daha hızlı ulaşabileceğiz. Sevgiler... -- Aycan iRiCAN Kor Bilişim Teknolojileri http://www.core.gen.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] Belli ve acik kodlu bir Java uygulamasinin CL ile yeniden yazi lmasi ne kadar sürer acaba?
Emre Sevinç wrote: NZemberek ve Zemberek baglaminda bir diyalog gecti FM'de, ben de destekli salladim: http://www.fazlamesai.net/?a=articlecmode=nestedsid=4348#27589 Belki bu listedeki deneyimli Java uzmanlari da bir tahminde bulunmak ya da benim tahminimi düzeltmek isterler diye haber vereyim dedim. Bence 1 hafta sürmez. Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://people.core.gen.tr/~aycan.irican/ ___ 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] Lazy programming and lazy evaluation
Volkan YAZICI wrote: Merhaba, IBM developerWorks'te gördüğüm bir makalenin liste üyelerinin ilgisini çekebileceğini düşündüm: Lazy programming and lazy evaluation [http://www-128.ibm.com/developerworks/linux/library/l-lazyprog.html] Lazy programming is a general concept of delaying the processing of a function or request until the results are needed. This concept has numerous applications, from the obvious to the obscure. Thinking in terms of lazy programming can help you rid your code of unneeded computation and restructure programs to be more problem-oriented. (in-package :cl-user) (defparameter unforced (gensym)) (defstruct delay forced closure) (defmacro delay (expr) (let ((self (gensym))) `(let ((,self (make-delay :forced unforced))) (setf (delay-closure ,self) #'(lambda () (setf (delay-forced ,self) ,expr))) ,self))) (defun force (x) (if (delay-p x) (if (eq (delay-forced x) unforced) (funcall (delay-closure x)) (delay-forced x)) x)) (let ((x 2)) (setq d (delay (1+ x CL-USER (force d) 3 Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://people.core.gen.tr/~aycan.irican/ ___ 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: defun ve lambda
Volkan YAZICI wrote: On Dec 20 11:39, Emre Sevinç wrote: Bir yandan Practical Common Lisp okurken bir yandan elinin altinda HyperSpec ve CLtL2 olursa iyi olur. setf ve setq ile ilgili: http://www.lisp.org/HyperSpec/Body/mac_setfcm_psetf.html http://www.lisp.org/HyperSpec/Body/spefor_setq.html http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node80.html http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node79.html defun ile ilgili: http://www.lisp.org/HyperSpec/Body/mac_defun.html Açıkcası ben HyperSpec'teki ilgili bölümleri okudum. (Bkz. slime-hyperspec-lookup) Hatta [EMAIL PROTECTED]'tekilerin de fikrini aldım. HyperSpec'teki açıklama, konuya yeni başladığımdan olsa gerek, biraz karmaşık geldi bana. Benim listeden asıl ricam nerede, ne zaman SETQ, SETF kullanacağına dair convention tadında bir kaç cümle duymaktı. Benim alışkanlığım hep SETF kullanmak. Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://people.core.gen.tr/~aycan.irican/ ___ 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] Emacs ve elscreen
Vehbi Sinan Tunalioglu [EMAIL PROTECTED] writes: Bunu paylasmadan edemedim. Uzunca bir zamandir tum eposta islerim icin GNUS kullaniyorum. Yakin bir zamanda da hem grup, hem summary, hem de article bufferlarini ayni pencerede gormemi saglayan bir ayar yapmistim [1]. Ee? diyeceksiniz. Bu ayari yapinca baska bufferlari gezmek biraz zor oluyordu. Ama ne kadar zor; cok da degil! Az once keske emacs icerisinde GNU screen modunda birsey olsa dedim ve aradim. Nitekim varmis da, hic sasirmadim :) $ sudo aptitude install elscreen Bizde frame¹ kullanıyoruz. ¹ http://www.gnu.org/software/emacs/manual/emacs.html#Frames Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://people.core.gen.tr/~aycan.irican/ pgpmIuMSQV2N7.pgp Description: PGP 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] Kod inceleme ricasi - Türkce dogal dil isleme
Emre Sevinc [EMAIL PROTECTED] writes: Merhaba, c.l.l. grubuna bir code review ricasi yolladim, Türkce dogal dil isleme ile ilgili yazdigim kisa bir kod parcasina dair: http://groups.google.com/group/comp.lang.lisp/browse_frm/thread/31ac1e06ad1531a2/b01d5ceb600d3506 Belki buradan da arkadaslar bakip elestirilerini yazmak isterler diye düsündüm. özet: Ayristirilmis bir Türkce cümleyi etkenden edilgene cevirme isi yapmaya calisiyorum simdilik. Tabii bu pek cok yan ürün gerektiriyor XML isleme, köklere ek ekleme, s-exp yapisina dönüstürme ve bunu isleme vs. Su anda basit bazi Türkce cümleler icin calisiyor tabii daha cok eksigi var. Google'daki adreste Türkce cikmamis karakterler ama eger tarayicinizi iso-8859-9 karakter kodlamasina göre ayarlayip http://ileriseviye.org/cogsci/ddd/ddd-20061025.lisp adresine bakabilirseniz kodu düzgün sekilde görebilirsiniz. Bu kod ne tür isler yapmaya yariyor sonuc itibari ile derseniz, surada kisa bir Lisp seansi görebilirsiniz: http://ileriseviye.org/cogsci/ddd/ddd-some-results.txt NLP konusunda pek bilgili değilim ancak elinize sağlık, güzel bir çalışma olduğunu düşünüyorum. Önerilecek çok şey olabilir, ancak merak ediyorum niçin allegro kullanmak zorunda kaldınız? Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://people.core.gen.tr/~aycan.irican/ pgp2HTsWVt0qI.pgp Description: PGP 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: CL+EMACS+SLIME belgesi
Bulent Murtezaoglu [EMAIL PROTECTED] writes: Debian'la ilgili bir listeye Cafer Şimşek haber verdi bunu. Benim haberim yoktu, belki belgeye girmesi de faydali olur: http://www.emacs.gen.tr/ Henuz fazla bir icerik yok, belki 'yeni acilan' filan demek lazim, bilmiyorum. Haber vereyim dedim. (Belki Aycan bey koymustu ama su anda belgeye bakamiyorum, oyleyse kusura bakmayin, unutmadan geceyim dedim.) Bunu kaçırmışım, kusura bakmayın, şimdi ekledim. Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://people.core.gen.tr/~aycan.irican/ pgpeG7IXHcu0u.pgp Description: PGP 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] CL Sözlüğü
Selam, Aşağıdaki adreste bulabileceğiniz bir tür sözlük hazırladık. CL ile ilgili çalışmalarınızda kullandığınız çevirileri ekleyebilirsiniz, ortak bir çeviri dili ve güzel bir kaynak oluşturabiliriz. Ayrıca bu da diğer bir web programlama örneği oldu, iyi oldu. http://zen.core.gen.tr/dict/index.ucw Kaynak kod için: http://coretal.core.gen.tr/cgi-bin/darcsweb.cgi?r=core-dict;a=summary darcs get http://www.core.gen.tr/projects/core-dict; Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://people.core.gen.tr/~aycan.irican/ pgpy6qZ5XRatG.pgp Description: PGP 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] Yazım tarzıyla ilgili bir öneri
Selam, Aranızdan bu fikre kızacaklar olabilir ancak ben sembollerin başına ve sonuna * ve + gibi karakterler koymak yerine sadece başına koymayı öneriyorum. Bunu hem benim gibi yenilere hem de eskilere öneriyorum. Şahsen çok tembel bi adamım ve zaten başına bi işaret koyduğum sembolü süslemek zor geliyor. Evrim'de bu konuda bana katılıyor. Bence bazı alışkanlıklar değişebilir. Eski: (defparameter *gwidth* 1200) (defconstant +daysinweek+ 7) Yeni: (defparameter *gwidth 1200) (defconstant +daysinweek 7) Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://people.core.gen.tr/~aycan.irican/ pgpF997wSccik.pgp Description: PGP 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] ucw+ ve hedee projesi
Selam, UCW'de ajax kullanabilmek için hazırladığımız ucw+ ile www.hedee.com projesini tekrar düzenledik. Kaynak kod için aşağıdaki adrese bakabilirsiniz. Proje sayfası: http://www.hedee.com/hedee/index.ucw darcs deposu: http://www.core.gen.tr/projects/hedee/ darcs web arabirimi: http://coretal.core.gen.tr/cgi-bin/darcsweb.cgi?r=hedee;a=summary Bu projenin ve kaynak kodunun da cl ile web programlama konusuna başlayanlar için iyi bir örnek olacağını düşünüyoruz. Kalıcılık için ise yönetilmemiş cl-prevalence örnekleri mevcut. Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://people.core.gen.tr/~aycan.irican/ pgpzdNdmLQG7o.pgp Description: PGP 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: CL+EMACS+SLIME belgesi
Bulent Murtezaoglu [EMAIL PROTECTED] writes: ES == Emre Sevin Emre writes: [...] ES Yazinin birkac yerinde özdevimli denmis, sanirim ES özdevinimli olacakti o. [...] Ilk haline de bakmistim, bu dogrusuna da baktim ama TDK sozlugu bunlari bilmiyor. Yanlis mi bakiyorum? Ne demektir bu ozdevinim? Kendiliginden mi demek? Cumleden oyle cikiyor gibi. devim hareket demek. özdevimli kelimesini ise automatic kelimesine karşılık kullanıyorum. Aşağıdaki adres sanırım bu konuda faydalı olabilir. http://www.tbd.org.tr/genel/sozluk.php Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://www.core.gen.tr pgp2LG97d3vjC.pgp Description: PGP 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: CL+EMACS+SLIME belgesi
Emre Sevinç [EMAIL PROTECTED] writes: Bulent Murtezaoglu wrote: ES == Emre Sevin Emre writes: [...] ES Yazinin birkac yerinde özdevimli denmis, sanirim ES özdevinimli olacakti o. [...] Ilk haline de bakmistim, bu dogrusuna da baktim ama TDK sozlugu bunlari bilmiyor. Yanlis mi bakiyorum? Ne demektir bu ozdevinim? Kendiliginden mi demek? Cumleden oyle cikiyor gibi. http://www.tdk.gov.tr/TDKSOZLUK/sozbul.asp?KELIME=devinmek Devin kokunun anlamini goz onunde bulundurunca, ben kendi kendine devinmek yani ozdevinmek, ozdevinim, kendine kendine hareket eden, kendi kendine olan, disaridan ikinci bir müdahale gerceklesmeden olabilen seklinde anlayabiliyorum (tabii bunun icin biraz kendimi zorlamam gerekiyor o ayri, yillarca otomatik lafina alismisim, bir de tabii o zaman otomasyon nasil denir Türkce acaba). Özdevinim diye söylenir. Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://www.core.gen.tr pgp3NWmlwbBrA.pgp Description: PGP 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: CL+EMACS+SLIME belgesi
Emre Sevinc [EMAIL PROTECTED] writes: Ai == Aycan iRiCAN [EMAIL PROTECTED] writes: Ai Emre Sevinc [EMAIL PROTECTED] writes: Aklima gelen bir sey, hani en cok sorulan sorulardan biridir ya, iyi güzel örnek programimi yazdim calisiyor, simdi bunu binary olarak arkadasima vermek istiyorum, n'apicam?. Belki o belgedeki örneklerin bulundugu bir imajin (save-lisp-and-die :executable t) ya da benzeri sekilde nasil olusturulabilecegi, kaydedilip calistirilabilecei gösterilse bu cok sIk sorulan soru icin sIk gösterilen bir link teskil etmis olur. Bunun disinda ilk aklima gelen kestirme bilgiler: sexp sexp nasil ilerlenir, tek harekette iki sexp'nin yeri nasil degistirilir, tek harekette bir parantez cifti acilip imlec ikisinin arasina yerlestirilir, bir ifade secilip etrafi parantezle nasil sarilir, bir sexp tek harekette blok olarak nasil secilir (C-M-Spc), tek harekette bir sexp komple nasil silinir, vb. seyler. Ai Bunları ikinci adımda yazmayı düşünmüştüm. İlk adım biraz sade Ai kalsın istedim. Bölmek anlamli olabilir tabii, ben bir cirpida ilk aklima geliverenleri yazdim. Biraz da seytanin avukatligini yapmaya calisiyorum cünkü eger Common Lisp'e baslayan biri daha önce diger dillerde ve ortamlarda cok deneyimli degilse pek fazla önyargili ve anlam yüklü gelmiyor ama eger aksi durum sözkonusu ise ister istemez pekiyi filanca ortamda suna karsilik gelen sey bu ortamda hani nerede sorulari cikiyor ortaya ve genellikle bunlar biraz negatif bir havada soruluyor. Cok basitce söylemek gerekirse gerek Emacs gerek VIM tavsiye ettigim zaman insanlarin ilk tepkilerinden biri e bu sözdizim renklendirme yapmiyor!. Sonra anlatiyoruz o özelligin nasil acilacagini. Bu simdi bazi seylere alistiktan sonra cok salakca gelebilir ama iste bu tür diyaloglar oluyor :) Bu söylediğini anlayabiliyorum. İstekler, sorular geldikçe belgelere yeni bölümler ekleyerek sanırım zamanla bu sorulara cevap verebiliriz. Onun dışında sorusu olan varsa cevaplamak ve değerlendirmeyi de kendi altyapısı kadarıyla soru sorana bırakmak lazım sanırım. Bu durumda ya elitist davranip, böyle sacma muhabbetlere giriyorsa ugrasmaya degmez denip gecilir gidilir ya da olabildigince diger IDE ortamlarindaki özelliklerin muadillerinden bahsedilir, en azindan varliklarina dair ipucu serpistirilir baslangic belgesine. Bence yazılımcılara güvenmeliyiz. Soruları saçma olabilir, hatta kendileri başka bir yöntemi savunarak bu soruları soruyor olabilirler, ancak zamanla kendileri için neyin daha iyi olduğunu seçebilecekler. Senin de söylediğin gibi, bize düşen sanırım mümkün olduğunca EMACS ve Lisp konusunda örnekler, belgeler, projeler üreterek yazılımcılara bir alternatifin olduğunu göstermeye çalışmak olacak. Aklima gelmisken, bir özellik daha yazayim: Insanlarin beklentilerinden biri de proje yönetimi IDE ortaminda. Yani bir grup dosya, resource vs. tek bir isimle iliskilendirilecek, projeyi ac dendiginde bunlar acilacak, Emacs bunlarin iliskili oldugunu bilecek filan. Kisaca bir nevi session yönetimi. Evet, bu Common Lisp'e özgü bir sey degil ama aklinizda bulunsun, baska ortamlarda bu güzel özellige alismis olan insanlarin aklina gelen sorulardan biri. Bunun için ilk adımda speedbar-frame-mode örneği verebiliriz sanırım? Bahsettiğin şeyi tam olarak karşılamıyor ancak fare kullanmak isteyenler için kolaylık sağlıyor. En azından dosyaları ve içerdikleri nesneleri bir miktar görebilirler. Yine benzer kategoride bir soru: Belli bir buffer semasi olusturmusum misal iki tane yatay, solda da bir tane dikey. Buna bir isim verip etiketlemek istiyorum. Sonra bu düzenegi bozup mesela bu sefer 3 yatay buffer iki tane de dikey actim, bu duruma da bir isim vermek istiyorum. Sonra bir buffer'dan digerine gec degil de bir buffer düzeneginden diger buffer düzenegine gec demek istiyorum. Bunu EMACS belgesine Pencereler başlığı altına ekledim, teşekkürler. Bir baska nokta: Dokümanta belirtilmeli ki, bazi tus kombinasyonlari maalesef bazi pencere yöneticileri tarafindan önceden kapilmis olabiliyor dolayisi ile kullaniciyi uyarmakta fayda var (benim basima fluxbox'ta gelmisti oradan biliyorum). Ai Bu tuşlar hangileri hatırlıyor musun? Su anda ne desem bos cünkü özgün fluxbox tus kombinasyonlarina epey müdahale ettim Emacs ile cakistikca. Yeni fluxbox sürümünde de yeni kombinasyonlar gelmis midir, onun disinda diger pencere yöneticileri ya da KDE, GNOME'un kendi kombinasyonlari, vs. Belgenin bununla ilgili kisminda tek tek kombinasyonlara dair bir sey söylemek yerine, bir cakisma olabilecegi ve bunun Emacs tarafinda nasil degistirilebilecegi anlatilabilir ya da anlatan yere link verilebilir (pencere yöneticisinin tus kombinasyonlarina müdahele etmek daha iyi olabilir ama bu Emacs ve CL anlatan bir belgenin sorumlulugunda olmaz herhalde). Bu konuda da EMACS belgesine bir parağraf ekledim
Re: [cs-lisp] Re: cs-lisp Digest, Vol 10, Issue 9
Altan DEMIRKILIC [EMAIL PROTECTED] writes: Message: 1 Date: Sat, 24 Jun 2006 11:36:24 +0300 From: Aycan iRiCAN [EMAIL PROTECTED] Subject: [cs-lisp] Core Services projesi To: cs-lisp@cs.bilgi.edu.tr Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=utf-8 Merhaba, Geçen aylarda yazdığımız bir web uygulamasının sonucu olarak, bir takım servisleri uygulamadan ayırarak bir genel kütüphane yazmayı planlıyoruz. Bu nedenle common-lisp.net üzerinde bir proje açtık. Amacımız cl ile web uygulama geliÅŸtirenlerin kullanabileceÄŸi servisler yazmak (Bir takım sistem servislerini kullanarak). Kullanıcı hesapları, alan adı kaydı, apache sanal makina yapılandırması, FTP alanı gibi bir takım servisleri cl ile tekrar kullanılabilir ve kolay servisler haline getirmek. Evrim bu ara UCW'yi temizlemekle uÄŸraÅŸa dursun, ben projeye kullanıcı hesaplarıyla ilgili kodlar yazdım. Veritabanı olarak rucksack kullandım ve denemek için bir de örnek UCW uygulaması yazdım. Aranızda bu projeye katılmak ve bize yardımcı olmak isteyen olursa aÅŸağıdaki sayfaya göz atabilirsiniz. http://common-lisp.net/project/core-services/ Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://www.core.gen.tr merhaba, neden olmasin diyecegim ama tam olarak nasil bir yardim istemektesiniz biraz acarsaniz sevinirim sahsen CL ile tanisikligim cok eskilere gitmemekte ayrica UCW'ye yeni yeni merak sardim. tabi 2-3 hafta bir zaman problemimde var.. Projeyi yeni yarattığımız için size kesin bir şey söyleyemiyorum, şu an her türlü desteğe ihtiyacımız var. Kod katkısı, belgeleme, kullanma ve test etme, yeni fikirler, eski deneyimler, aklınıza ne gelirse. Sanırım bunlar ilk adımda değil ancak zamanla olacak şeyler, hiç acelemiz yok, her ne zaman boş vakit bulursanız. Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://www.core.gen.tr pgpr2DKGp56DU.pgp Description: PGP 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] CL+EMACS+SLIME belgesi
Merhaba, Common Lisp kullanmak isteyen ve ilk kurulumda sıkıntı çekenlerin yaralanabileceği bir belge. Henüz tam olarak bitirmedim ancak bu haliyle bile yararlanılabilir. Önerilerinizi bekliyorum. Açık Kaynak Kodlu Yazılımlar ile Common Lisp'e İlk Adım: http://people.core.gen.tr/~aycan.irican/web/publish/IlkAdim.html Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://www.core.gen.tr pgpmqkDFKoGqS.pgp Description: PGP 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: Tonguc'un UnCommon Web'li Reddit uygulamasi
Selam, UCW ile basit uygulamalar geliştirmek gerçekten kolay. Ancak iş ciddi uygulamalar yazmaya gelince bir takım sorunlarla karşılaşıyor insan. Ben bir giriş yaptım ve kurulum hakkında basit bir belge düzenledim, uygulama örnekleri ile genişletmeyi düşünüyorum: http://people.core.gen.tr/~aycan.irican/web/publish/index.html * WebGeliştirme Örneğin farklı kullanıcı rollerine göre web geliştirme konusunda henüz bir fikir oluşmadı kafamda. Ayrıca parenscript paketini hala düzgün bir şekilde kullanamıyorum. Veri deposu olarak da cl-prevalence dışında açık kaynak kodlu bir çözüm yok sanırım. bknr'yi denedim, platform konusunda malesef şu an çok seçici. Bunun yanında allegrocache ise henüz pişmemiş, franz ile yazışıyoruz ancak oldukça yavaş cevap veriyorlar. Hali hazırda çalışan web sitelerini lisp ile yazıp işte böyle de oluyor demek etkileyici ve öğretici olabilir mi sizce? Ben bir blog sitesi için bunu denedim, yüzlerce asp dosyanın kaybolduğunu ve bir lisp dosyasının tüm siteyi işletebildiğini gösterebilmek insanları gerçekten etkiliyor. Sevgiler... Emre Sevinc [EMAIL PROTECTED] writes: Kendi adima en kisa sürede bu tür bir UnCommon Web: Nedir, Ne Degildir, Nasil Kurulur, Nasil Programlanir? belgesi bekliyorum heyecanla, dört gözle. -- Aycan iRiCAN C0R3 Computer Security Group http://www.core.gen.tr pgpBZzkNBUoQk.pgp Description: PGP 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: Another programming challenge - Another Clue Re: [cs-discuss] PHP+MySQL versus Lisp: Shortest Path problemi ile ilgili -
Merhaba, Bahsedilen BFS algoritmasının ağaçlar (trees not graphs) üzerinde çalıştığını hatırlatmakta fayda var. Paul Graham'ın algoritması yapay zeka programlamada kullanılan temel arama algoritmalarından belkide en basitinin kısaca yazılmış hali. Siz assoc'da ne gibi bir problem gördünüz bilmek isterim. '((1 5 ) (5 1 12 17) ( 12 26 28 55) (17 1)) listesi bir ağaç olmadığı için algoritma döngüye giriyor. Burada 1 numaralı düğüm (node) sadece 5'i gösteriyor, halbuki 17'yi de göstermeliydi (there is a cycle here. aynı durum listenin ikinci elemanında 5'in 1'i göstermesinde de mevcut). Aksi olursa bu düğümlerin çift yönlü yollar ile bağlandığı bir grafiğe dönüyor. Değişkenleri düzgün verirsek algoritma gayet hızlı çalışıyor. CORE (time (shortest-path 1 54 '((1 5 17) (5 12 17) (12 26 28 55 ; cpu time (non-gc) 0 msec user, 0 msec system ; cpu time (gc) 0 msec user, 0 msec system ; cpu time (total) 0 msec user, 0 msec system ; real time 0 msec ; space allocation: ; 29 cons cells, 0 other bytes, 0 static bytes NIL Biraz daha ayrıntılı anlatacak olursak: CORE (shortest-path '1 '2 '((1 3) (2 1) (3 1))) Yukarıdaki yanlış kullanımı düşünelim. Fonksiyona verdiğimiz başlangıç değer (1) ve bitiş değeri (2). Ancak ağaç yerine çift yönlü bir grafik vermiş olalım ( ((1 3) (2 1) (3 1)) listesinde 1 3'ü 3 ise 1'i döngüsel olarak gösteriyor). Bu durumda her adımda algoritmanın kullandığı kuyruk (QUEUE as Q) şöyle gidecektir. 1. ((1)) - Başlangıç olarak Q sadece ilk değeri içerir. 2. ((3 1)) - İlk değer olan (1) çıkarılır, yerine 1'e bağlı diğer yollar eklenir. 3. ((1 3)) - İlk değer olan (3 1) çıkarılır, yerine 3'e bağlı diğer yollar eklenir. 4. ((3 1)) - Burada döngü başlayacaktır. 5. ... 6. ... Graham'ın algoritması kanımca böyle döngüler içeren bir grafikle ancak *ziyaretçi listesi* (visitor list) tutarak çalışabilir. Bu da fazladan (en kötü ihtimalle b^(d+1)) hafıza kullanmak demektir. Bence bahsedilen web sayfasının problemi veritabanındaki bilgilerin ağaç haline getirilerek işlenmesi ile çözülebilir. Ya da new-paths adlı *successor* fonksiyon (x durumunda S(x), x'in ulaşabileceği yeni durumları üretir) veritabanındaki bilgilerden durum üretecek şekilde yazılabilir. Bir de BFS üzerinde ısrarcı olmamak gerekebilir, veritabanı nasıl bir durumda bilmiyorum ama alternatif (PDS gibi) bir çok arama stratejisi uygulanabilir diye düşünüyorum. Umarım başınızı ağrıtmamışımdır. Sevgiler... Chris Stephenson [EMAIL PROTECTED] writes: Emre and everyone Kod düzgün çalışmıyor The Graham code , even with input in the correct format, does NOT work correctly. Consider this input (shortest-path 1 54 '((1 5 ) (5 1 12 17) ( 12 26 28 55) (17 1))) This should produce the answer () or nil, because there is no path from 1 to 54. It does not. The fact that it does not also exposes indirectly the algorithmic problem with his code. -- Aycan iRiCAN C0R3 Computer Security Group http://www.core.gen.tr pgpzUyXiI1C0t.pgp Description: PGP 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] AllegroCache videosu, dabbledb enteresanligi
Emre Sevinc [EMAIL PROTECTED] writes: Tesadüflere inanmayan adam bildiriyor: Bill Clementson yine yapacagini yapmis, tam da biz vidyo vidyo! derken ve tam da COR3 ekibinden arkadasimiz Lisp ve object persistence mevzularini gündeme getirmisken: http://www.fazlamesai.net/index.php?a=articlesid=3525 Görüntüler gerçekten güzel. ACL'deki Prolog bana Evrim'in bahsettiği Mozart-Oz[1]'u anımsattı. Veri deposuna sorgular yapmak yerine yerine çıkarsamalar tanımlamak en büyük eksikliğimizdi sanırım. Ancak ben gene de halen yapılacak çok şey olduğunu düşünüyorum. Devamlılık (persistence) ya da kalıcılık mı demeliyim bilmiyorum ama bu konunun güvenlikten bağımsız düşünülmemesi gerektiğini savunuyorum. Bu arada Franz ACL'nin beta sürümünü geç de olsa gönderdi, bu ay biraz inceleme yapabilmeyi ve gelişmeleri sizlerle paylaşabilmeyi umuyorum. Sevgiler... Notlar: [1] http://www.mozart-oz.org/features.html -- Aycan iRiCAN C0R3 Computer Security Group http://www.core.gen.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: Merhaba
Emre Sevinc [EMAIL PROTECTED] writes: Ai == Aycan iRiCAN [EMAIL PROTECTED] writes: Ai Emre Sevinc [EMAIL PROTECTED] writes: AI == Aycan iRiCAN [EMAIL PROTECTED] writes: AI Emre Sevinc [EMAIL PROTECTED] writes: Tunes'a cok cok kisa baktim. O tarz bir sey yapmayi mi düsünüyorsunuz? Ya da UCW'den filan bahsetmissiniz Emacs belgesinde, Internet programlama türü seyler mi planliyorsunuz? AI Bence Tunes projesi bir programcı için oldukça faydalı AI kaynaklarla dolu. Henüz katkıda bulunmadık ancak AI faydalanıyoruz. Geçen yıl j2ee tabanlı bir takım servisler AI geliştirmiştik (daha çok web uygulamaları ile ilgili), şu an AI java'nın sınırlarını aşmak için çabalıyoruz. Bu durumda UnCommon Web ile J2EE ya da iste Java ile Internet programlama konusunu güzelce kiyaslayabilecek durumdasiniz diye düsünüyorum, hakli miyim? Eger öyle ise UCW ortamindan edindiginiz izlenimleri Java ile kiyaslayarak da paylasirsaniz gercekten cok faydali bazi belgeler cikabilir. Ai Aslında bunun için bence erken. Deneyimsizliğim bir yana Ai ContextL[1] gibi projelerin olgunlaşmasını beklemek Ai lazım. Evrim'le son konuşmamızda olumlu şeyler anlatmıştı bana Ai ancak sürüm 0.1 şu an için. ContextL ile ugrasiyor musunuz? Pascal C. OOPSLA'05 ortaminda bir seyler anlatacakti diye hatirliyorum. Yazisiyor musunuz Pascal ile? FM'deki Lisp kilavuzunu görmüssünüzdür belki cevrilmis olan? Evet projeyi okuduktan sonra ilgilenmeyi düşündük. Ancak yazarlarla görüşmedik. Lisp klavuzu çevirisinin adresini verebilirseniz bakmak isterim. Ai Dağınık sistemler için ise elang desteği java için daha Ai gelişmiş durumda. Öneriler xml-rpc'den yana. elang derken kast ettiginiz E dili mi yoksa Erlang mi? E[1] dilinden bahsediyorum, lisp için e-on-common-lisp[2] var. Slate[3] geliştiricileri de bunu önermişlerdi. Ai Ancak basit web uygulamalarında UCW oldukça başarılı görünüyor Ai (özellikle devam özelliği okuru etkiler). Bu konuda bir örnek Ai hazırlamak için ise şöyle kullanılası bir persistence Ai mekanizması bulmaya kalkışınca üzülüveriyor insan. İlişkisel Ai veritabanlarının sınırlarını aşmak için tek alternatif görünen Ai AllegroCache[2] parayla satılıyor ve deneme sürümü için Ai attığım e-postaya halen cevap gelmiş değil. cl-prevayler ise Ai okurların gözünü korkutacağa benziyor. Ai Off tanrım yazılması gereken çok şey var gene... Onu hatirlayan var mi? SLIME'a has bir sey miydi, Emacs ile mi ilgiliydi? Simdi nasil arastiracagim da gelmedi aklima. Yani kisaca cycle through the buffers using the same key combination gibi bir durumu kast ediyorum. Hatta tüm buffer'lar degil de sadece belli bir liste üzerinden ben tusa basili tuttukca karsimdaki buffer degisse filan, var miydi böyle bir sey? Ai C-x sağ ok ve C-x sol ok Denedim bende olmadi o. Size özel bir keybinding mi? (Bende SLIME'in birkac ay önceki sürümü var ama zaten Marco'nun videosu da en az birkac aylik). Tuş yardım sayfası şunu söylüyor: C-x right runs the command next-buffer which is an interactive compiled Lisp function in `simple.el'. It is bound to C-x C-right, C-x right, menu-bar buffer next-buffer. (next-buffer) Switch to the next buffer in cyclic order. Benim emacs sürümüm: GNU Emacs 22.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.6.8) of 2005-11-14 on zen Notlar: [1] http://www.erights.org [2] http://homepage.mac.com/kpreid/elang/e-on-cl/ [3] http://slate.tunes.org -- Aycan iRiCAN C0R3 Computer Security Group http://www.core.gen.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: Merhaba
Bulent Murtezaoglu [EMAIL PROTECTED] writes: Ai == Aycan iRiCAN [EMAIL PROTECTED] writes: Ai ... Bu konuda bir örnek Ai hazırlamak için ise şöyle kullanılası bir persistence Ai mekanizması bulmaya kalkışınca üzülüveriyor insan. İlişkisel Ai veritabanlarının sınırlarını aşmak için tek alternatif görünen Ai AllegroCache[2] parayla satılıyor ve deneme sürümü için Ai attığım e-postaya halen cevap gelmiş değil. cl-prevayler ise Ai okurların gözünü korkutacağa benziyor. Franz ile is yaparken is modellerinin cok farkli oldugunu dikkate almak lazim. Genelde sadece 'su kadar para' demelerini istediginizde telaffuz edilen beklentinin cok uzerinde olabiliyor, diger modelleri ise Katolik nikahi modeli. Kotulemek icin soylemiyorum, ama 'biz sizin ortaginiz olmak istiyoruz'u maddi bakimdan da ciddiye alarak soyluyor onlar. Hal bu olunca ortak secmekte devreye giren kistaslar devreye girmeli diye dusunuyorum. (Isin bir de muhasabe/devlet kabusu olabilir sinir otesi oldugu icin, o ayri. Ama orada bir temsilcilik firsati da olabilir tabii). Bunlar oldukça değerli deneyimler, teşekkür ederim. Franz'dan gelen cevap beni şaşırttı açıkcası. Lisp / AllegroCL konusuna aşina mısınız? AllegroCache kullanacağınız bir proje düşünüyor musunuz? diye soruyorlar. Kendimi ayakkabıcıdan alış-veriş yapar gibi hissettim. Hayır sadece denemek istiyorum. diyeceğim ama daha uygun bir cevap düşünüyorum. Herneyse, cl-prevalence[1] mi demek istediniz? Eger veritabani hafizaya sigiyorsa bir de fork edip, cocugu image olarak dump etmek gibi bir kolaylik var. Elimde haziri yok bunun, ama bir ara denemistim boyle karmasik yapili veri ve uzun suren hesaplarda snapshot alma metodu diye. FFI uzerinden fork'u cagirip lispinizin ek ozelliklerinleri kullanarak dump ediyorsunuz (komikligi yapilan save-lisp-and-die mesela sbcl'de). En azindan bunu yapmak benim hosuma gidiyordu nedense. COW yuzunden eger buyuk GC'ye denk gelmezseniz yahut forktan evvel GC yaparsaniz gayet de ucuz. Ortogonal devamlılık (Orthogonal Persistence) şu an Java'da Pjama ile yapmaya çalıştıkları şey. Slate geliştiricileri ile bu konu üzerine detaylı konuşmuştuk. Onlar olabileceğinden bahsetseler dahi ben hala iki ay çalıştıktan sonra elimdeki sanal makina durumunun ne kadar temiz olacağını bilmiyorum. Bu nedenle ben veri deposu gibi bir şey arıyorum. Veri yapılarını saklayacak ve sorgu ile geri çağıracak bir şey. Sorgunun da kullandığım dil ile bütünleşik bir şekilde yapılması gerektiğini düşünüyorum. Devamlılık veri yapılarıyla sınırlı olmayan temel bir sorun ve hala etkili bir çözüm üretilmiş değil kanaatindeyim. Bu fikrime C0R3'dan Evrim'de katılacaktır. Zira kendisi ile jdo'dan db4o'ya bir çok yolculuk yaptık. Bir tek ben oynadim zannediyordum bununla ama Tim Bradshaw hizmete konmus kodun icinde de bunu yaptigini soylemisti zamaninda. CLL'de bu konusmayi bulamadim simdi tabii. Bulabilirseniz okumak isterim. Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://www.core.gen.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: Merhaba
Emre Sevinc [EMAIL PROTECTED] writes: AI == Aycan iRiCAN [EMAIL PROTECTED] writes: AI Emre Sevinc [EMAIL PROTECTED] writes: Tunes'a cok cok kisa baktim. O tarz bir sey yapmayi mi düsünüyorsunuz? Ya da UCW'den filan bahsetmissiniz Emacs belgesinde, Internet programlama türü seyler mi planliyorsunuz? AI Bence Tunes projesi bir programcı için oldukça faydalı AI kaynaklarla dolu. Henüz katkıda bulunmadık ancak AI faydalanıyoruz. Geçen yıl j2ee tabanlı bir takım servisler AI geliştirmiştik (daha çok web uygulamaları ile ilgili), şu an AI java'nın sınırlarını aşmak için çabalıyoruz. Bu durumda UnCommon Web ile J2EE ya da iste Java ile Internet programlama konusunu güzelce kiyaslayabilecek durumdasiniz diye düsünüyorum, hakli miyim? Eger öyle ise UCW ortamindan edindiginiz izlenimleri Java ile kiyaslayarak da paylasirsaniz gercekten cok faydali bazi belgeler cikabilir. Aslında bunun için bence erken. Deneyimsizliğim bir yana ContextL[1] gibi projelerin olgunlaşmasını beklemek lazım. Evrim'le son konuşmamızda olumlu şeyler anlatmıştı bana ancak sürüm 0.1 şu an için. Dağınık sistemler için ise elang desteği java için daha gelişmiş durumda. Öneriler xml-rpc'den yana. Ancak basit web uygulamalarında UCW oldukça başarılı görünüyor (özellikle devam özelliği okuru etkiler). Bu konuda bir örnek hazırlamak için ise şöyle kullanılası bir persistence mekanizması bulmaya kalkışınca üzülüveriyor insan. İlişkisel veritabanlarının sınırlarını aşmak için tek alternatif görünen AllegroCache[2] parayla satılıyor ve deneme sürümü için attığım e-postaya halen cevap gelmiş değil. cl-prevayler ise okurların gözünü korkutacağa benziyor. Off tanrım yazılması gereken çok şey var gene... AIBu nedenle çeviri yaparken aslında iki yönü de AI düşünmekte fayda var. Ancak ben eleştirinize AI katılıyorum. Sanırım bunlar zamanla ortaya çıkacak işler. 2- Pencere düzenlemeden filan bahsettiginiz kisimda sunlari da söyleseniz, basucu bilgisi olarak: `C-x ^' Make selected window taller (`enlarge-window'). `C-x }' Make selected window wider (`enlarge-window-horizontally'). `C-x {' Make selected window narrower (`shrink-window-horizontally'). AI Evet bunu ekliyorum hemen, gözden kaçmış. Bir baska öneri, misal bunlari ekledikten hemen sonra o bölümün altina bu mevzu detayli olarak Emacs manual'in window vs. vs. bölümünde ele alinmistir dense ve URLsi verilse güzel olmaz mi? Böylece kisa tutmasi beklenen basucu kilavuzu belge kisa yer tutarken ve gereksiz detaya bogulmazken detaya ulasmayi da kolaylastirir. Bunu da ekledim. Yahu $u UCWci Marco Baringer'in videosunda bir seyler vardi, neydi böyle bir seylere basip basip bufferlar arasinda geziniyordu. Onu hatirlayan var mi? SLIME'a has bir sey miydi, Emacs ile mi ilgiliydi? Simdi nasil arastiracagim da gelmedi aklima. Yani kisaca cycle through the buffers using the same key combination gibi bir durumu kast ediyorum. Hatta tüm buffer'lar degil de sadece belli bir liste üzerinden ben tusa basili tuttukca karsimdaki buffer degisse filan, var miydi böyle bir sey? C-x sağ ok ve C-x sol ok 4- Nasil font degistirilir Emacs icinde? Insanlarin ilk takildigi seyden biri bu oluyor. Bunu anlatmak önemli. 5- Ekran arkaplan rengini nasil degistiririm? Bunu da basta söylemek iyi olabilir (bu arada fark ettim ki ben cornsilk3 arkaplan rengi ile epey rahat ediyorum yazarken!) AI 4 ve 5 için .Xdefaults yeterli mi sizce? .emacs icinden ve Emacs icinden nasil yapilacagini belirtmekte de fayda var kanaatindeyim. Ok bunun için de vakit ayıracağım. Önerileriniz için tekrar teşekkürler. Notlar: [1] http://common-lisp.net/project/closer/contextl.html [2] http://www.franz.com/products/allegrocache/index.lhtml -- Aycan iRiCAN C0R3 Computer Security Group http://www.core.gen.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: Merhaba
Recai Oktas [EMAIL PROTECTED] writes: -- Buffer'a tampon demesek de baska birsey uydursak? Aslinda uyuyor ama Ingilizce konusanlarin tampon dedigi de burada tampon diye tanitilip satiliyor. Kulak tirmalamanin disinda insanlar buna hassas olabilirler. Ya evet, sikintili bir kelimedir o, kesin birsey uydurmamiz lazim. Cache icin onbellek[1] diyoruz, buna da ondosya, aradosya falan mi desek acaba? TBD sozlugunde buffer icin arabellek[2] kullanilmis, ama bu kullanim daha alt duzey bir programlama terimini karsiliyor bence. Emacs/VIM gibi programlarda gectigi haliyle daha kullanici yonelimli bir karsilik olmasi lazim, o yuzden s/bellek/dosya/ yaptim. Bana arabellek makul geliyor. Anlayacak kişi açısından size bir miktar katılıyorum ancak TBD'nin sözlüğüne bağlı kalmayı tercih ediyorum şimdilik. Türk dil kurumu bu tür kelimelerle birlikte ayraç ile yabancı karşılıklarını da vermeyi öneriyor. Belki bu şekilde bir aşinalık oluşur. Gene de pek emin değilim bu konuda. Aslında Prof. Dr. Aydın Köksal'a bu konuda bir e-posta atmıştım ancak uzun bir süre cevap alamayınca pek takip edemedim. Sevgiler... #secure method=pgpmime mode=sign -- Aycan iRiCAN C0R3 Computer Security Group http://www.core.gen.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: Merhaba
Emre Sevinc [EMAIL PROTECTED] writes: Tunes'a cok cok kisa baktim. O tarz bir sey yapmayi mi düsünüyorsunuz? Ya da UCW'den filan bahsetmissiniz Emacs belgesinde, Internet programlama türü seyler mi planliyorsunuz? Bence Tunes projesi bir programcı için oldukça faydalı kaynaklarla dolu. Henüz katkıda bulunmadık ancak faydalanıyoruz. Geçen yıl j2ee tabanlı bir takım servisler geliştirmiştik (daha çok web uygulamaları ile ilgili), şu an java'nın sınırlarını aşmak için çabalıyoruz. Belge icin elinize saglik, bu e-postayi hazirladiktan sonra hemen FM'deki Kitaplar/Kilavuzlar kategorisinde diger insanlara da iletecegim faydalanmalari icin. Aslında bunun için pek acele etmeye gerek yok. İlgili insanlardan da geribildirim alarak daha etkili bir belge hazırlamayı düşünüyorum. Ancak vurgulamakta fayda var, belgeyi geniş kitleleri düşünerek yazmaya başlamamıştım. Gelelim elestirilere: 1- öldürmek demeseniz kill icin. Yani anlasilmiyor degil anlasiliyor da... bilmiyorum iste, garip geliyor bana satir silme isi icin öldürmek gibi asiri anlam yüklü bir fiil kullanmak. Şöyle bir şey ile karşılaştınız mı hiç? Türkçe bir makale okuyorsunuz ve referansları takip ederek yabancı kaynaklara gittiğinizde türkçe makaledeki çeviriyi çözmekle vakit harcıyorsunuz. Bu nedenle çeviri yaparken aslında iki yönü de düşünmekte fayda var. Ancak ben eleştirinize katılıyorum. Sanırım bunlar zamanla ortaya çıkacak işler. 2- Pencere düzenlemeden filan bahsettiginiz kisimda sunlari da söyleseniz, basucu bilgisi olarak: `C-x ^' Make selected window taller (`enlarge-window'). `C-x }' Make selected window wider (`enlarge-window-horizontally'). `C-x {' Make selected window narrower (`shrink-window-horizontally'). Evet bunu ekliyorum hemen, gözden kaçmış. 3- Göremedim belgede: sIk kullandigim tus kombinasyonlarindan biri: C-l o anda asagida ya da yukaridaki bir satirda iken imlec, onu ortalamak, o sekilde hizalamak icin yani. Bunu da sık kullanılan kısayol tuşlarına ekledim. Ancak arabellekte gezmek için kullanılan kısayol tuşlarını anlatacak bir bölümde olsa daha iyi olur sanırım. 4- Nasil font degistirilir Emacs icinde? Insanlarin ilk takildigi seyden biri bu oluyor. Bunu anlatmak önemli. 5- Ekran arkaplan rengini nasil degistiririm? Bunu da basta söylemek iyi olabilir (bu arada fark ettim ki ben cornsilk3 arkaplan rengi ile epey rahat ediyorum yazarken!) 4 ve 5 için .Xdefaults yeterli mi sizce? 6- Programatik metin üretimi deyip bir Emacs Lisp örnegi vermissiniz, pedagojik acidan bunu daha sonraya biraksaniz ve Emacs Lisp ile ilgili bir iki link ekleseniz cok daha etkileyici ve vurucu olabilir. 7- C-g'yi en baslarda iyice bir vurgularsaniz iyi olur. 8- Emacs'in insanlara ne denli yardimci oldugunu belirtmek icin envai yardim alma yönteminden de ortalarda bir yerde ya da sonlarda bahsetmenizde fayda var: C-h b C-h k C-h C-k C-h f C-h C-f (bir de info var tabii, onu da yukaridaki baglamda ele almak anlamli olabilir). Bunu da ekledim, eksikleri zamanla tamamlarız. 8- Son kisimlarda SBCL, UCW, Allegro filan demissiniz, güzel bilgiler vermissiniz ama kilavuzu Emacs kilavuzu olarak tutmak namina bunlari baska bir kilavuza koysaniz, yani Common Lisp ile Internet/web programlama kilavuzu seklinde? Oteki türlü Emacs kilavuzuna bakan insanlar sanki Emacs sadece Lisp icin faydali gibi düsünüyorlar, o yanli anlamaya katkida bulunmamak icin. AI Hazır inet-tr'de[3] yaklaşmışken belki de emacs ile ilgili bir AI sunum yapılabilir. Emacs'a konu gelirse zaten lisp kaçınılmaz AI olacaktır. Burada da yukaridakinin tersi yaklasim evet, Emacs'tan yola cikip Lisp denilebilir belki (ben Emacs'tan yola cikarak caz müzik de diyorum mesela, Common Music filan; yani bir kez konuyu Emacs'a getirdikten sonrasi kolay ;-)) AI Bu ilk e-postamda emacs'dan başka konulara zıplamasam ve AI burada bitirsem iyi olacak sanırım. Kısa bir giriş yapmak ve AI bir miktar grubumuzu tanıtmak istedim. Hepinize iyi AI çalışmalar. Varsa Common Lisp ile ilgili diyeceginiz baska seyler seve seve bekleriz. Bu arada bir de .emacs belgesi cevirmissiniz: http://people.core.gen.tr/~aycan.irican/web/static/noktaemacs/index.html o da fena olmamis. Onu farklı ele almayı planlıyorum. Böyle tek bir belge üzerinden örnek vermek doğru gelmiyor bana. Zaten gördüğüm kadarıyla insanların emacs ayarları konusunda pek iyi deneyimleri yok. Bu nedenle kendi kullandığım gibi ayrık bir metod önereceğim. Belgeyi oluşturmak yerine yapılanış belgelerine açıklama yazarak yayımlamak daha iyi olacak düşüncesindeyim. Sevgiler... -- Aycan iRiCAN C0R3 Computer Security Group http://www.core.gen.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