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

Google AI Yarışması Birincisi: Gábor Melis (ve Common Lisp)

FZ

Bir süreliğine dünyanın çeşitli yerlerindeki programcılara uykusuz ve adrenalin dolu geceler geçirten, eğlendirirken öğreten ve sosyal içerikli mesajlar içeren Google AI yani Google Yapay Zeka programlama yarışmasının birincisi Macar programcı Gábor Melis oldu. Melis yarışmayı Common Lisp dilinde geliştirdiği sistem ile kazandı.

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

minifesto: mini mini 'animated' manifesto

FZ

Zach Beane yine yapacağını yapmış. minifesto sitesine gidip, istediğiniz metni yazıp bunu yakışıklı bir siyah kutu içinde, karizmatik yeşil yazılarla, daktilo efekti şeklinde görebileceğiniz bir "animated GIF" olarak elde edebiliyorsunuz.

Bir örneğini de Brian Mastenbrook'un blog'unda PI filminden meşhur bir alıntı şeklinde görmek mümkün.

Acaba bu şirinlik hangi programlama dili ile yapılmış? Tabii ki programlamayı tekrar eğlenceli kılan dille.

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.

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.