module Temple::Mixins::Dispatcher

def self.included(base)

def self.included(base)
  base.class_eval { extend ClassMethods }
end

def call(exp)

def call(exp)
  compile(exp)
end

def compile(exp)

def compile(exp)
  type, *args = exp
  if respond_to?("on_#{type}")
    send("on_#{type}", *args)
  else
    exp
  end
end