Ana Sayfa

femtolisp: Hafif ve Güçlü Bir Lisp Yorumlayıcısı

1 dk okuma

femtolisp, Jeff Bezanson tarafından 1000 satırın altında C koduyla en hızlı Lisp yorumlayıcısını yazma hedefiyle başlatılmış hafif ve sağlam bir Scheme benzeri Lisp uygulamasıdır. Proje, minimal kodla güçlü özellikler ekleme çabasıyla gelişmiş ve yazarın favori C kodlarından oluşan bir standart kütüphane ile desteklenmiştir. Yaklaşık 150KB boyutunda ve oldukça bağımsız olan femtolisp, vektörler, dizeler, gensym'ler, backquote, istisnalar, döngüsel/paylaşımlı yapıların okunabilir şekilde basılması, hash tabloları ve C veri tiplerini doğrudan kullanma desteği gibi birçok gelişmiş özellik sunar.

femtolisp, yerel olarak derlenmemiş Scheme uygulamaları arasında en hızlılarından biri olarak öne çıkar. Bu hıza, birçok temel fonksiyonun (örneğin filter ve for-each) C yerine Lisp dilinde yazılmış olmasına rağmen ulaşır. Kendi içinde yazılmış bir bytecode derleyicisi ve VM kullanır; bytecode birinci sınıf bir vatandaş olup okunabilir ve yazdırılabilir durumdadır. Tasarım hedeflerinden biri, kodu özlü ve anlaşılır tutmaktır; her kavramın tek bir yerde uygulanması, sistemin kolayca anlaşılmasını ve değiştirilmesini sağlar, bu da yüksek güvenilirlik sunar. Proje, Lisp'in benzersiz kılan önemli ancak bazen göz ardı edilen özelliklerini (okuma makroları, backreference'lar, gensym'ler) doğru bir şekilde uygulamaya özen gösterir ve gereksiz yeniliklerden kaçınarak uyumluluğu ve zamanla kanıtlanmış tasarımları korumayı hedefler.

İçgörü

femtolisp, minimal kodla gelişmiş özellikler sunarken yüksek performans ve güvenilirliği bir araya getirerek Lisp ekosistemine değerli bir katkı sağlıyor.

Kaynak