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

Video: 5 dakikadan kısa sürede TCP/IP network ve multithreaded programlama

FZ

Daha önceden Rebel With A Cause ve A Day At The Beach makaleleri ile tanıdığımız tehlikeli programcılardan Sven Van Caekenberghe gene yapacağını yapmış.

CUSP - development environment for Lisp built on top of the Eclipse platform

eevrim

2007 LKD şenliklerinde Core-Server sunumunda Emacs'ı beğenmeyip (?), "Bunun grafik arabirimi yok mu?" gibi sorularla karşılaşmıştık. Reddit'te gezerken CUSP'a rastladım.

Programming In Lisp With Cusp

Lisp - Asla Ölmeyecek Olan Dil

FZ

ESR bir oyun ile ilgili grafik işlerini halletmek için GIMP kullanmaya başlamış ve bazı şeyleri otomatikleştirmesi gerekince GIMP'in nasıl programlanabileceğine göz atmış. Karşısına çıkan Script-Fu ortamında Scheme ile karşılaşınca kendini evinde gibi hissetmiş ve LISP — The Language That Will Not Die başlığı altında düşüncelerini ve yazdığı kodu paylaşmış.

Not: cs-lisp listesinde haber verdiği için için Recai Oktaş'a teşekkürler.

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.