2013-05-21 8 views
8

Ich war kürzlich sehr beeindruckt von der Arbeit von Chris Granger und seinem Light Table. Diese Frage ist nicht über obwohl Leuchttisch, sondern mehr über die „BOT“ -Architektur er in seinem Blog-Post „Der IDE als Wert“ unter Verwendung beschrieben: http://www.chris-granger.com/2013/01/24/the-ide-as-data/Die datenzentrische App- und Objektkomposition in Clojure verstehen

Nun, ich zu clojure ziemlich neu bin, möchte aber um besser auf diese Weise der Programmierung erkunden: Verhalten, Objekt, Tag:

(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]) 

Wo kann ich Clojure Code, der diesen Stil verwendet und diese Zusammensetzung Prinzipien finden?

Antwort

10

BOT klingt wie der Light Table "proprietäre" Geschmack der Entity-Component-System (ECS) -Architektur. Ich würde mit wikipedia entry beginnen und dann zu this post mit Codebeispielen in ActionScript gehen (wir sind in der Welt der Spiele).

Es gibt auch some examples im Clojure-Kontext.