Beispiel #1
0
 public LexicalMap Extend(LambdaBase lambda)
 {
     return
         (lambda.CallsTheEnvironment() ? FirstClassLexicalMap.Make(this, lambda) :
          StaticLexicalMap.Make(this, lambda));
 }
Beispiel #2
0
 public LexicalBinding(LambdaBase binder, LexicalAddress address)
 {
     this.binder  = binder;
     this.address = address;
 }
Beispiel #3
0
 StaticLexicalMap(LexicalMap parent, LambdaBase lambda)
     : base(parent)
 {
     this.lambda = lambda;
 }
Beispiel #4
0
 public static LexicalMap Make(LexicalMap parent, LambdaBase lambda)
 {
     return(new StaticLexicalMap(parent, lambda));
 }
Beispiel #5
0
 FirstClassLexicalMap(LexicalMap parent, LambdaBase lambda)
     : base(parent)
 {
     this.lambda = lambda;
 }