Cusp: Eclipse için Common Lisp Eklentisi

0
zekzekus
Lisp ile uğraşan ama Emacs editörüne alışamamış benim gibi kullanıcıların yardımına Eclipse IDE ortamı için hazırlanmış Cusp eklentisi yetişiyor.
Henüz 0.7.0 versiyonunda bulunan eklentinin sağladığı özelliklerin başlıcaları şunlar:

- SBCL derleyicisi eklenti ile birlikte geliyor.
- Swank kullanıyor.
- Oldukça iyi durumda kod tamamlama.
- Geliştirme ortamına entegre edilmiş REPL.
- Bütün dosyayı ya da belirli bir expression derleme.
- Tooltips ile sembol tanımı, macro-expansion vs.
- Windows, GNU/Linux ve Mac için hazırlanmış paketler.
- vb.


Özellikle günümüzde sık kullanılan geliştirme ortamlarına alışmış olan kullanıcılar için takip edilesi bir proje.

Görüşler

0
FZ
Halihazırda Eclipse gibi büyük bir IDE ortamını kurup Java, vb. diller için kullanmakta olanlar arasında Lisp'e heves edenler için anlamlı olabilir, öteki türlü sırf bu eklenti için gidip Eclipse indirip kurmak çok anlamlı görünmüyor.

Ayrıca sanki Emacs ve SLIME'a, SBCL yükleme mevzusuna biraz haksızlık yapılmış gibi. Debian ya da Gentoo gibi kaliteli GNU/Linux yazılımlarını kullanan kişiler için SBCL, SLIME, EMACS vs. kurmak misal bir apt-get komutuna bakar. Birkaç dakika sonra sistem emrinize amadedir. Yok eğer MS Windows kullanıyorsanız onun için LispBox, LispWorks, AllegroCL gibi her keseye ve zihniyete uygun anahtar teslim çözümler var.

Ekran görüntüleri, yani Eclipse seven sevebilir, belli bir IDE mantalitesi ve tutarlılık sağlıyor elbette öte yandan Lisp kodlarken bir fonksiyon ismi yazmışken onun tamamlamak ya da açıklama amaçlı karşıma kocaman sarı pop-up pencerelerin çıkması "büyük rahatlık" değil.

Bir konuda hak veriyorum, maalesef SLIME dokümantasyonu SLIME'ın güçlü ve çok kestirmeden iş güç yapmayı sağlayan özelliklerini tamamen yansıtmıyor, bundan şikayet edenler var haklı olarak. Mesela meşhur birkaç SLIME videosuna gelen "a-aa bu özellik de mi varmış, hiç bilmiyordum" tepkileri örnek gösterilebilir. Bu bakımdan rekabet iyi, belki SLIME geliştiricileri bu eklentiye bakıp eğer varsa daha güçlü yönlerinden feyz alabilirler.
0
zekzekus
""Halihazırda Eclipse gibi büyük bir IDE ortamını kurup Java, vb. diller için kullanmakta olanlar arasında Lisp'e heves edenler için anlamlı olabilir, öteki türlü sırf bu eklenti için gidip Eclipse indirip kurmak çok anlamlı görünmüyor.""
Kesinlikle katılıyorum. Eclipse'i zaten kullanlar için çok ama çok tanıdık bir ortam. Cusp sitesinde eklentinin avantajlarından biri olarak Eclipse içindeki proje yönetimi gösteriliyor. Emacs+Slime kombinasyonunda bu olanak ne kadar var bilemiyorum.
""Ayrıca sanki Emacs ve SLIME'a, SBCL yükleme mevzusuna biraz haksızlık yapılmış gibi. Debian ya da Gentoo gibi kaliteli GNU/Linux yazılımlarını kullanan kişiler için SBCL, SLIME, EMACS vs. kurmak misal bir apt-get komutuna bakar. Birkaç dakika sonra sistem emrinize amadedir. Yok eğer MS Windows kullanıyorsanız onun için LispBox, LispWorks, AllegroCL gibi her keseye ve zihniyete uygun anahtar teslim çözümler var.""
Artık windows içinde sorun değil bence. Ben win XP işletim sisteminde SBCL+Emacs+slime kurup çalışır hale getirmek Lispbox olmadanda son derece rahat yapılan bir işlem. Hatta emacs'in şaşırtıcı(benim için) modlarını da kurup genelde sorunsuz kullanmak mümkün.
Kod tamamlama ve tooltips ise neden bilmem (tembellik??) geliştirme ortamları için vazgeçilmesi güç bir özellik gibi geliyor bana.(Bu konuda emacs'de gayet başarılı gerçi.)
Sonuçta Common Lisp ile ilgilenmeye başladığımda ilk iş güzel bir ide aramıştım. Lispworks ve Allegro CL'yi inceledim ama bunların "Express" sürümler olması kimi kısıtlamalarının bulunması ayrıca büyük ihtimalle gerçekten lisanslarını hiç almayacak olmam başka çözümler aramaya itmişti. Bu ortamlardan hemen sonra Eclipse (Java ve Python için kullanıyordum zaten) için bir Lisp eklentisi aramış ama tatmin edici bir şey bulamamıştım.
Belki de tam emacs ile Lisp kodlamaya, gnus ile maillerime bakmaya, ERC ile IRC serverlarına bağlanmaya, sql-mode ile Oracle veritabanına bağlanmaya alışmışken bunu bulmak iyi olmadı ama alışkanlıklardanda kolay vazgeçilemediğini de anlamış oldum.
0
FZ
Belki de tam emacs ile Lisp kodlamaya, gnus ile maillerime bakmaya, ERC ile IRC serverlarına bağlanmaya, sql-mode ile Oracle veritabanına bağlanmaya alışmışken bunu bulmak iyi olmadı ama alışkanlıklardanda kolay vazgeçilemediğini de anlamış oldum.

Gücü hissetmeye başlamışsınız :) Peki ya hiç CEDET, SpeedBar gibi şeylere baktınız mı?

Bir de tabii o Cusp, Eclipse IDE ortamına Emacs metin işleme özelliklerini yani SLIME'dan filan bağımsız, doğal olarak s-exp tabanlı metin işleme özelliklerini de getiriyor mu bilmiyorum.
0
zekzekus
"Gücü hissetmeye başlamışsınız" :)
Evet :)
"Bir de tabii o Cusp, Eclipse IDE ortamına Emacs metin işleme özelliklerini yani SLIME'dan filan bağımsız, doğal olarak s-exp tabanlı metin işleme özelliklerini de getiriyor mu bilmiyorum."

Zannetmiyorum açıkçası biraz kurcalama fırsatım oldu kendisini ama emacs'e mi alıştım bilmeden yoksa daha proje çok mu başlarında, umduğum kadar rahat edemedim. Lisp ile ilgili bir kitapta "Lisp takıntı yapar kendinizi kaptırırsanız öyle gider" (tam olarak böyle değildi cümle) mealinde bir şeyler vardı. Sanırım böyle bir hastalık :) bulaştı banada. Bu Lisp insanı emacs'e de bulaştırıyo sanırım. İşyerimde sql*plus gerektiren işler için emacs+sql-oracle modunu açtığımda şaşıran çok oldu.;)
0
FZ
Zannetmiyorum açıkçası biraz kurcalama fırsatım oldu kendisini ama emacs'e mi alıştım bilmeden yoksa daha proje çok mu başlarında, umduğum kadar rahat edemedim. Lisp ile ilgili bir kitapta "Lisp takıntı yapar

Projenin başlarında olmaları ile ilgisi yok. Çünkü siz SLIME kullandığınızda sadece SLIME ile gelen özellikleri kullanmıyorsunuz, aynı zamanda Emacs'a içkin olan yani hiç SLIME filan olmasa dahi Emacs ile birlikte gelen ve Common Lisp, Scheme, vs. kaynak kodunu düzenlemeyi çok kıvrak hale getiren metin düzenleme özelliklerini kullanıyorsunuz. Cusp geliştiricileri bunu hedefleyeceklerse zaten bir nevi Emacs metin düzenleme işlevselliğini Eclipse IDE metin editörüne katmak gibi iddialı bir şeyi hedefliyor olacaklardır.

kendinizi kaptırırsanız öyle gider" (tam olarak böyle değildi cümle) mealinde bir şeyler vardı. Sanırım böyle bir hastalık :) bulaştı banada. Bu Lisp insanı emacs'e de bulaştırıyo sanırım. İşyerimde sql*plus gerektiren işler için emacs+sql-oracle modunu açtığımda şaşıran çok oldu.;)

Onları şaşırtmaya devam edeceğinizden şüphem yok. Bu arada bir noktaya daha dikkat çekeyim: Emacs ortamında Lisp kodlarken mesela editöre dair ya da SLIME'a dair bir değişiklik yapmak, bir özellik eklemek isterseniz yine bir tür Lisp olan Emacs Lisp ile Emacs'a müdahale edeceksiniz, dolayısı ile benzer zihniyet. Öte yandan Cusp'a katkıda bulunmak isterseniz, Eclipse'e müdahale etmek için yani sanırım Java kullanmanız gerekecek (yanılıyorsam düzeltin), bu da iki zihniyet arasında geçiş yapmak demek, bu bir dezavantaj.
0
FZ
Cusp geliştiricisi gördüğüm kadarı ile Paragent çalışanı. Böyle bir şeyle uğraştığına göre acaba çalışanı olduğu yazılım firması da bazı projeler için CL kullanıyor mudur diye düşündüm bir an. Kullanıyor olsalar da söylerler mi o da ayrı bir konu ;-)
0
tongucyumruk
Sitelerindeki ürün demosuna bakılırsa Uncommon Web kullanıyorlar.
0
FZ
Bilgi için çok teşekkürler, baktım o demoya. Güzel ve rahat kullanılan bir web uygulamasına benziyor. Common Lisp ve UCW bir kez daha birilerine rekabet avantajı sağlıyor gibi...
0
hb
Debian testing uzerinde kurulu Eclipse 3.2'de denedim. Nedense defpackage ile baslayan ifadeleri `eval` etmeye kalkinca, repl yanit vermeyi birakiyor. Cok kurcalayamadim bu yuzden.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Core Services Projesi Duyuruldu: Gönüllü Common Lisp Programcıları Davetli

FZ

Tam da az önce FZ Blogs ortamında Türkiye’deki ticari BT ortamında Common Lisp platformunun yerinden bahsediyordum ki cs-lisp e-posta listesine gelen "Core Services" projesi başlıklı e-posta dikkatimi çekti. COR3 ekibinden Aycan İrican şöyle demiş:

Geçen aylarda yazdığımız bir web uygulamasının sonucu olarak, birtakım servisleri uygulamadan ayırarak bir genel kütüphane yazmayı planlıyoruz. Bu nedenle common-lisp.net üzerinde bir proje açtık.

UnCommon Web ile “Merhaba Dünya”

FZ

Ne zamandır fırsat bulamadığım UnCommon Web geliştirme çatısı ile bir kaç deneme yapabildim sonunda. Kurcalamaya başlamak için önce UCW’yi kurmam gerekti doğal olarak. Oldukça fazla sayıda olan bağımlı olduğu paketleri tek tek kurmak yerine şu adresten UCW-boxset paketini indirdim. Windows sistemimde çeşitli hatalar aldığımdan sanal makine üzerindeki Debian sistemime kurdum. Kurdum derken ev klasörümde arşiv dosyasını açtım sadece. Gerisi UCW-boxset klasöründeki “start.lisp” dosyasını Lisp sistemine yüklemekten ibaret zaten. Veritabanı erişimi için (malum web programlama veritabanı olmadan olmaz) clsql paketini kullandım...

Zekeriya Koç'un Common Lisp ile geliştirilmiş UnCommon Web uygulama çatısına güzel ve örneklerle dolu bir giriş niteliği taşıyan yazısının devamını buradan okuyabilirsiniz.

Core Kaynak Kod Ağacı Yeri Güncellemesi

eevrim

Merhaba,

Core-serveR Common-Lisp repolarının yeri değişti. Lütfen bağlantılarınızı güncelleyiniz.

Tüm kaynak kod ağacı: http://labs.core.gen.tr/repos/

Core-serveR Kurulum Betiği: http://labs.core.gen.tr/repos/core-server-installer-latest.tar.gz

GNU CLISP 2.34 sürümü çıktı

FZ

ANSI Common Lisp yüksek seviyeli, genel amaçlı bir programlama dilidir. GNU CLISP, Karlsruhe Üniversitesi'nden Bruno Haible ve Münih Üniversitesi'nden Michael Stoll'un ürünüdür. CLISP, ANSI Common Lisp standardında tanımlanmış Lisp dilinin büyük kısmını desteklemektedir. Hemen her türlü UNIX platformunda (Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Tru64, HP-UX, BeOS, NeXTstep, IRIX, AIX ve diğerleri) ve diğer sistemlerde (Windows NT/2000/XP, Windows 95/98/ME) çalışmakta ve bunun için sadece 4 MB RAM bellek yeterli olmaktadır.

Ruhan İkeda ile Müzik ve Lisp Üstüne

FZ

Bir sonraki Lisp toplantısının konuşmacısı Bilgi Üniversitesi'nde Müzik ve Linux dersini veren Ruhan İkeda.

Ruhan İkeda, gerçekleştirdiği müzik araştırmalarından ve bunlarla bağlantılı olarak kullandığı Common Lisp tabanlı araçlardan bahsedecek.

Düzeltme: Etkinlik 14 Ekim'de değil, 14 Kasım'da gerçekleşecek.