class Temple::Generator

def compile(exp)

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