Method: Lisp::PrimEnvironment.environment_bindings_impl

Defined in:
lib/rubylisp/prim_environment.rb

.environment_bindings_impl(args, env) ⇒ Object



54
55
56
57
# File 'lib/rubylisp/prim_environment.rb', line 54

def self.environment_bindings_impl(args, env)
  return Lisp::Debug.process_error("environment-bindings requires an environment for it's argument, received: #{args.car}", env) unless args.car.environment?
  Lisp::ConsCell.array_to_list(args.car.value.bindings.map { |b| Lisp::ConsCell.array_to_list(b.value.nil? ? [b.symbol] : [b.symbol, b.value]) })
end