June 27, 2012 - Tagged as: lisp, tr.
Paul Graham’ın Arc dilinin tasarımı ve genel olarak Lisp hakkındaki yazıları o kadar müthiş ki, burada okuduklarımın linklerini paylaşacağım.
Some Work on Arc (2009). Bunu okumayan kalmasın, bir programlama dilinde beni en çok heyecanlandıran fikirleri ve şimdiye kadar gördüğüm en güzel Lisp tanımını içeriyor. Normalde sadece bu yazı hakkında uzun bir yazı hazırlamıştım, ama sonra neredeyse tüm yazıyı alıntıladığımı farkedip bu formata döndüm.
Arc: An Unfinished Dialect of Lisp (2001): Arc dilinin tasarımı hakkında alınmış kararların nedenlerinden ve nasıllarından bahsediliyor. Bu yazıda bahsedilen isimsiz fonksiyon syntaxının ve veri yapılarının indexler üzerine fonksiyonlar olmasının şu anda Clojure tarafından kullanıldığını farkedebilirsiniz.
Steele and Gabriel: The Syntax Question: Neden Lisp’ler Algol tarzı syntaxa sahip değiller? Neden Algor tarzı syntax için uygun değiller?
Michael Vanier: LFM and LFSP: Programlama dillerinin hitap ettiği kitleler ve dilin güçleri, tasarım kararları ile alakalı.
Bir de meraklısı varsa Arc dilinin sayfası. Core diye bahsedilen çekirdek kısım 1500 satır Scheme kodundan ibaret. Dil Scheme’e derleniyor. Şimdi düşünüyorum da, bir Lisp dili yazıyor olsaydım(aslında yazıyorum zaten, daha ciddi olsaydım diyecektim) ben de Scheme’e derlerdim. Mesela Gambite derleyebilmek, Racket’a derlemek kadar kolay olmaz ama süper olurdu.
Paul Graham’ın yukarıdaki yazılarda bahsettiği, dillerin implementasyonları konusundaki fikirlerden bazılarını Shende görebilmek mümkün. Shen, K Lambda adı verilen 46 fonksiyon içeren bir dil üzerine inşa edildi ve şimdiden 3 farklı platformda(Common Lisp, Clojure, JavaScript) çalışıyor.