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

Guy Steele'den John McCarthy röportaj

auselen

Guy Steele OOPSLA 2008'de Lisp'in babası John McCarthy ile bir telefon röportajı gerçekleştirdi.

Hangi Common Lisp?

zekzekus

Daniel Weinreb, buradan erişilebilecek şekilde, Common Lisp gerçekleştirimleri (implementasyonları) ile ilgili bir inceleme yapmış. İncelemeye konu olan Common Lisp gerçekleştirimlerinin sorumluları kendi gerçekleştirimlerini anlatmışlar. "Nedir bu Lisp? Ortada bir sürü Lisp var, hangisini seçmeliyim?" diyenler için özellikle az bilinen Common Lisp gerçekleştirimlerini de içermesi açısından güzel bir kaynak.

newLISP

bk

Bu kadar Lispçinin gözünden kaçmış olabilir mi bilemiyorum ama ben bulamadım: newLISP for BSDs, GNU/LINUX, MacOS X, Solaris, Win32.

newLISP, yapay zekâ ve istatistik gerektiren alanlarda web uygulamaları ve diğer türden yazılımlar için geliştirilmiş genel amaçlı bir betik dilidir. FAQ belgesi ve Common Lisp ile Scheme'den farklılıkları daha detaylı bilgi vermektedir.

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 ve Lisp: Ya da .NET CLR Garbage Collector Hangi Dilde Yazıldı?

FZ

USENET comp.lang.lisp forumundaki eğlenceli bir mesaj dikkatimi çekti paylaşmak istedim.

Meğer meşhur .NET platformunun ana bileşenlerinden biri olan CLR (Common Language Runtime) sisteminin çöp toplayıcısı (garbage collector) Lisp ile yazılmış.

Sağlam Lisp "hacker"larından olan ve bir süredir MS için çalışan, CLR'nin baş mimarlığını yapan Patrick Dussud'un yazdığı Lisp kodu daha sonra bir Lisp'ten C'ye dönüştürücü ile C'ye dönüştürülmüş ve bu kod da MS'deki bir stajyer programcı tarafından "temizlenip" derlenip piyasaya sürülmüş.

Lisp ve .NET konusu açılmışken: Her iki dünyadan da vazgeçmek istemeyenler için enteresan projeler çıkmaya başladı: L Sharp .NET (C#'tan çok daha eğlenceli ;-), RDNZL ve FOIL.