Easel, son bir yıldır Clojure programlama dili kullanılarak geliştirilen bir entegre geliştirme ortamıdır (IDE). Proje, araçları tanımlamak için bir model ve bu araçları tek bir pencerede düzenlemek için basit bir kullanıcı arayüzü sunmaya odaklanmıştır. Bir IDE'den beklenen işlevselliklerin çoğu, metin düzenleme, terminal emülasyonu, veri inceleme ve web tarama gibi modüler, birbiriyle veri paylaşabilen araçlar aracılığıyla sağlanır. Easel, bir kütüphane gibi işlev görerek, araçların IDE dışında bağımsız olarak da kullanılabilmesine olanak tanır.
Yazarın hayalindeki IDE, günümüzdeki popüler IDE'lerde bulunan birçok özelliği barındırıyor ancak hiçbir IDE'nin tüm bu özelliklere aynı anda sahip olmadığını belirtiyor. Bu hedefe ulaşmak için, en zorlu sorunları çözebilecek bir temel arayışına girilmiş ve JVM üzerinde çalışan Clojure tercih edilmiştir. JVM, çöp toplama, çoklu iş parçacığı yönetimi ve paylaşılan bellek gibi on yıllar sürebilecek zorlu sorunları çözerken, Clojure da eşzamanlılık, değişmezlik ve REPL odaklı geliştirme gibi avantajlar sunar. Bu güçlü temel, geliştirme sürecindeki birçok karmaşıklığı ortadan kaldırır.
Ancak, bu temel seçimi bazı zorlukları da beraberinde getirir. JVM'nin kullanıcı arayüzü (UI) kütüphaneleri (Swing ve JavaFX) eski ve hantal olarak kabul edilmektedir. Yazar, sıfırdan bir UI kütüphanesi yazmanın, JVM ve Clojure'un çözdüğü temel sorunlara kıyasla daha kolay bir problem olduğunu savunuyor. Bu yaklaşım, mevcut diğer IDE'lerden önce, tüm istenen özelliklere sahip kapsamlı bir IDE oluşturma fırsatı sunmaktadır. Makale ayrıca, NeXTSTEP ve Smalltalk gibi eski sistemlerin ve Emacs gibi araçların nasıl derin entegrasyon ve genişletilebilirlik sunduğunu hatırlatarak, Easel ile bu vizyonu yeniden canlandırmayı hedeflediğini vurguluyor.
Bu proje, mevcut IDE'lerin eksiklerini kapatarak, Clojure ve JVM'nin güçlü yönlerini kullanarak kapsamlı ve modüler bir geliştirme ortamı yaratma potansiyeli taşıyor.