lib/nydp/closure.rb in nydp-0.2.3 vs lib/nydp/closure.rb in nydp-0.2.5

- old
+ new

@@ -2,10 +2,13 @@ class Closure attr_accessor :ifn, :context def initialize ifn, context @ifn, @context = ifn, context + # TODO don't create a closure where it's not needed (zero_arg functions), use parent context instead + # TODO see SymbolLookup for how to ensure variable references stay on track + # TODO see InterpretedFunction for where to not instantiate new LexicalContext end def invoke_1 vm ifn.invoke_1 vm, context end @@ -26,9 +29,10 @@ ifn.invoke vm, context, arg_values end def nydp_type ; "fn" ; end def to_s - "(closure #{context.inspect} : #{ifn.to_s})" + "(closure #{context.to_s} : #{ifn.to_s})" end + def inspect ; to_s ; end end end