Meta-programlama sanatı

0
tongucyumruk
IBM DeveloperWorks'te yayınlanan makalesinde Jonathan Barnett meta-programlama ve makro işleme konularını incelemiş. Yazının içinde CPP ve M4 gibi çeşitli makro dillerinden örnekler ve son olarakta Scheme ile yazılmış makrolardan bahsediliyor. Özellikle diğer dillerdeki makrolar ile Lisp ailesindeki dillerin makroları arasındaki farkı anlayabilmek için okunması gereken bir makale.

İlgili Yazılar

Lisp Resource Kit: Canlı Canlı Lisp ;-)

FZ

LispNYC ve ALU tarafından geliştirilmiş olan The Lisp Resource Kit boot edebilen Debian GNU/Linux tabanlı Knoppix kullanılarak hazırlanmış bir Lisp tanıtım, eğitim öğretim CDsi. Her türlü deneyimden insana Common Lisp programlama dilini ve teknolojilerini tanıtmak amacı ile hazırlanmış ve ekran görüntülerine buradan ulaşabileceğiniz bu CDdeki yazılımların birkaçına örnek vermek gerekirse:

MatzLisp: Yeni bir Lisp lehçesi ;-)

anonim

Ruby'nin yaratıcısı Matz yaptığı açıklamayla Ruby'nin kökeninde Lisp olduğunu bu yüzden dilin bundan böyle MatzLisp olarak adlandırılması gerektiğini söyledi.

Kaynak: http://ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/179642

Lisp ile TILSIMLI ve Renkli Programlama: Lisperati

FZ

Tüm zamanların en renkli Common Lisp programlama kılavuzlarından Lisperati artık anadilimizde.

Söz konusu belge İstanbul Bilgi Üniversitesi Bilgisayar Bilimleri Bölümü öğrencisi Seda Çelebican tarafından Türk diline çevrildi. Belgenin Türk kültürüne uyarlanmasında ve genel editörlük işlemlerinde İstanbul Bilgi Üniversitesi eMBA Yazılım Geliştirme ekibinden Emre Sevinç emek harcadı. Bu süreçte çok titiz eleştirileri, geri beslemeleri ile bize yardımcı olan Bilkent Bilgisayar Mühendisliği bölümü öğrencilerinden Hayrettin Gürkök'e ve Lisp konusunda yardımcı olan Bülent Murtezaoğlu'na teşekkürü bir borç biliriz. Belgedeki hatalardan çevirmen ve editör sorumludur. Orjinal belgenin yazarı Dr. Conrad Barski hiçbir maddi hatadan ötürü sorumlu tutulamaz. Belgeyle ilgili tartışma ve her türlü soru için bu haberin altına yorum yazabilir, iletişim kurabilirsiniz.

Lisperati belgesindeki kodları denemek için hiçbir şey kurmanıza gerek yok. Belgede anlatıldığı gibi uzaktaki bir telnet servisine kolayca bağlanıp kodları hemen derleyebilirsiniz ancak bu konularla daha ciddi ilgileniyor ve kendi Lisp ortamınızı kurmak istiyorsanız daha önce FM'de yayınlanan Common Lisp Geliştirme Ortamı Kurulumu kılavuzundan faydalanabilirsiniz.

Güncelleme (2/5/2005): Kılavuzu PDF olarak hazırlayıp Ayhan Barış'a çok teşekkür ederiz.

Barack Obama'yı Semantik Web Üzerinden Lisp ile Sorgulamak

FZ

Öyle bir veri tabanı düşünün ki şu sorunuza doğru cevaplar veriyor: "Barack Obama nerede doğmuştu? (Nerede dünyaya gelmişti diye de yazabilirsiniz) Doğduğu yere 15 km uzaklıktaki şehirler ve kasabalar hangileri idi? 2000 yılında bu yerleşim yerlerindeki ortalama fakirlik seviyesi ne idi?"

Bunu tek bir ilişkisel veri tabanı ile kolayca yapabilir misiniz? Yahut daha doğru soru: Neden tek bir veri tabanı olsun ve bu neden ilişkisel olsun? Buyrun semantik web ve RDF kullanın. Nasıl mı?

C++ içinde Lisp kullanmak

bk

C++ kodlarken "ah şu anda filanca fikrimi Lisp ile ne kadar kolay ifade ederdim" dediğiniz oluyor mu? Bir ortamdan diğerine geçmeye, ayrı ayrı işlemler yapmaya üşenenlerden misiniz?

En az bir evet cevabı verdi iseniz InteLib tam size göre. C++ kodlarken doğrudan Lisp sözdizimine ve semantiğine çok benzer şekilde kod yazmanızı ve doğrudan derlemenizi sağlayan bir kütüphane. Şu anda aktif olarak geliştiriliyor. Ne gerek var ki böyle bir şeye diyenler FAQ belgesini okuyabilirler.