module Chervil::AST class Definition attr_reader :name attr_reader :value def initialize(name, value) @name = name @value = value end def ==(other) @name == other.name && @value == other.value end def evaluate(env) @value = value.evaluate(env) if value.is_a?(Identifier) return @value if @value.is_a?(::Chervil::Error) env.set(@name.name, @value) nil end end end