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

Coretal CMS Videoları

eevrim

Core Server üzerine geliştirdiğimiz ilk uygulama olan Coretal İçerik Yönetim Sisteminin kullanım ve tasarım videolarını hazırladık. Fikirlerinizi duymaktan mutluluk duyacağız.

Sevgiler.

Ürün sayfası, Kullanıcı Videosu, Tasarımcı Videosu

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.

Common Lisp ve Bir Optimizasyon Tekniği: Memoization

FZ

"Memoization" tabiri bilgisayar bilimlerinde ilk kez Donald Michie'nin 1968 yılında Nature dergisinde yayımlanan Memo functions and machine learning (Memo fonksiyonları ve makina öğrenimi) makalesi ile gündeme gelmiştir.

Memoization tekniği bir fonksiyonu hesaplarken önceden hesaplanmış değerleri hesaplamadan kullanmak, dolayısı ile işlemi hızlandırmak olarak tarif edilebilir. Sözcük olarak "memorization"ı yani "ezberleme" eylemini çağrıştırmakla birlikte daha genel bir anlamı kapsamaktadır.

Programlama dilinden bağımsız olmakla birlikte, bu yazıda "memoization" tekniğinin Common Lisp'te nasıl kullanılacağına bakacağız. Bunun için Peter Norvig'in PAIP kitabı ana eksenimizi oluşturacak.

Microsoft VisualLisp#'i Mi Duyuracak?

FZ

Bill Clementson, blog'undaki son girdide şöyle yazmış:

Don Box, XOM, XML ve SOAP üzerine yaptığı çalışmalardan ötürü Microsoft'a geçmeden önce de bir hayli tanınan bir isimdi. Epey akıllı bir adamdır ve blogunu düzenli olarak takip ederim. Ancak son yazılarından birinde "Lisp/Scheme Jobs" başlıklı bir şey görünce şok geçirdim:

ECLM '08 ve ELS '08'in Ardından

FZ

ECLM 2008 (European Common Lisp Meeting) ve ELS 2008 (European Lisp Symposium) tamamlandı. ECLM 2008'deki konuşmalardan birkaç örnek vermek gerekirse:
  • Marc Battyani, Lisp-based supercomputing
  • Juan José García-Ripoll, ECL - more than an Embeddable Common Lisp
  • Jeremy Jones, InspireData - how it was written in Lisp
  • Kristoffer Kvello, House Designer - using Knowledge Based Engineering and Lisp to automatically design buildings
  • Nicolas Neuss, Femlisp - solving partial differential equations with Common Lisp
  • Stefan Richter, Using Common Lisp for large Internet systems
  • Kilian Sprotte, PWGL - an environment for sound synthesis and computer aided composition