module Temple::Mixins::ControlFlowDispatcher

def on_block(code, content)

def on_block(code, content)
  [:block, code, compile(content)]
end

def on_case(arg, *cases)

def on_case(arg, *cases)
  [:case, arg, *cases.map {|condition, exp| [condition, compile(exp)] }]
end

def on_cond(*cases)

def on_cond(*cases)
  [:cond, *cases.map {|condition, exp| [condition, compile(exp)] }]
end

def on_if(condition, *cases)

def on_if(condition, *cases)
  [:if, condition, *cases.compact.map {|e| compile(e) }]
end