Class: Nydp::Invocation::Invocation_N

Inherits:
Base show all
Defined in:
lib/nydp/function_invocation.rb

Instance Method Summary collapse

Methods inherited from Base

#handle, #inspect, #lexical_reach, #source, #to_s

Methods included from Helper

#cons, #list, #literal?, #pair?, #sig, #sym, #sym?

Methods included from Converter

#n2r, #r2n

Constructor Details

#initialize(arg_count, expr, source) ⇒ Invocation_N

Returns a new instance of Invocation_N.



94
95
96
97
# File 'lib/nydp/function_invocation.rb', line 94

def initialize arg_count, expr, source
  super expr, source
  @arg_count = arg_count
end

Instance Method Details

#execute(vm) ⇒ Object



99
100
101
102
103
104
105
# File 'lib/nydp/function_invocation.rb', line 99

def execute vm
#        Invocation.sig @sig
  args = vm.pop_args @arg_count
  args.car.invoke vm, args.cdr
rescue StandardError => e
  handle e, args.car, :invoke, args.cdr
end