public static LexicalMap Make(LexicalMap parent, LambdaBase lambda) { return new StaticLexicalMap (parent, lambda); }
StaticLexicalMap(LexicalMap parent, LambdaBase lambda) : base(parent) { this.lambda = lambda; }
public LexicalBinding(LambdaBase binder, LexicalAddress address) { this.binder = binder; this.address = address; }
public LexicalMap Extend(LambdaBase lambda) { return lambda.CallsTheEnvironment () ? FirstClassLexicalMap.Make (this, lambda) : StaticLexicalMap.Make (this, lambda); }
FirstClassLexicalMap(LexicalMap parent, LambdaBase lambda) : base(parent) { this.lambda = lambda; }