class Temple::Generator

def compile(exp)

def compile(exp)
  type, *args = exp
  if respond_to?("on_#{type}")
    send("on_#{type}", *args)
  else
    raise "Generator supports only core expressions - found #{exp.inspect}"
  end
end