了解Clojure中以数据为中心的应用程序和对象组合

leo*_*bot 8 clojure composition

我最近对Chris Granger和他的Light Table的工作留下了深刻的印象.这个问题不是关于光桌,而是关于他在博客文章"作为一种价值的IDE"中描述的"BOT"架构的更多信息:http: //www.chris-granger.com/2013/01/24/所述-IDE作为数据/

现在,我对clojure很新,但想更好地探索这种编程方式:行为,对象,标记:

(behavior* :read-only
                    :triggers #{:init}
                    :reaction (fn [this]
                           (set-options this {:readOnly "nocursor"})))

(object* :notifier
         :triggers [:notifo.click :notifo.timeout]
         :behaviors [:remove-on-timeout :on-click-rem!]
         :init (fn [this]
                 [:ul#notifos
                   (map-bound (partial notifo this) notifos)]))

(object/tag-behaviors :editor.markdown [:eval-on-change :set-wrap])
Run Code Online (Sandbox Code Playgroud)

我在哪里可以找到使用该样式的clojure代码和那些组合原则?

Grz*_*ywo 10

BOT听起来像实体 - 组件 - 系统(ECS)架构的Light Table"专有"风格.我将从维基百科条目开始,然后使用ActionScript中的代码示例(我们在游戏世界中)转到这篇文章.

在Clojure上下文中也有一些例子.