eval function

dynamic eval(
  1. Environment env,
  2. dynamic expr
)

The evaluation function.

Implementation

dynamic eval(Environment env, dynamic expr) => switch (expr) {
  final Quote quote => quote.datum,
  final Cons cons => (eval(env, cons.head) as Function)(env, cons.tail),
  final Name name => env[name],
  _ => expr,
};