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

时间:2013-05-21 02:55:50

标签: clojure composition

我最近对Chris Granger和他的Light Table的工作印象深刻。这个问题不是关于光表,而是关于他在博客文章“作为一个价值的IDE”中描述的“BOT”架构的更多信息: http://www.chris-granger.com/2013/01/24/the-ide-as-data/

现在,我对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])

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

1 个答案:

答案 0 :(得分:10)

BOT听起来像Light Table"专有"实体 - 组件 - 系统(ECS)架构的风格。我将从wikipedia entry开始,然后使用ActionScript中的代码示例转到this post(我们处于游戏世界中)。

Clojure上下文中也有some examples