Beispiel #1
0
 static SCode StandardMake(StaticLambda rator, Quotation arg0, Quotation arg1)
 {
     return
        //(arg0.Quoted == ReferenceTrap.Unassigned &&
        // arg1.Quoted == ReferenceTrap.Unassigned &&
        // rator.Body is Letrec2Body) ? Letrec2.Make (rator, arg0) :
         new StaticLet2QQ (rator, arg0, arg1);
 }
Beispiel #2
0
 public object GetRealObject(StreamingContext context)
 {
     if (this.realObject == null)
         this.realObject = new StaticLambda (this.name, this.formals,
             this.body, this.freeVariables);
     return this.realObject;
 }
Beispiel #3
0
 public static SCode Make(StaticLambda rator, Quotation arg0, Quotation arg1)
 {
     return StandardMake (rator, arg0, arg1);
 }
Beispiel #4
0
 protected StaticLet2QQ(StaticLambda rator, Quotation rand0, Quotation rand1)
     : base(rator, rand0, rand1)
 {
     this.rand1Value = rand1.Quoted;
 }
Beispiel #5
0
 static SCode StandardMake(StaticLambda rator, Quotation arg0, SCode arg1)
 {
     return
         (arg1 is Quotation) ? StaticLet2QQ.Make (rator, arg0, (Quotation) arg1) :
         new StaticLet2Q (rator, arg0, arg1);
 }
Beispiel #6
0
 protected StaticLet2Q(StaticLambda rator, Quotation rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
     this.rand0Value = rand0.Quoted;
 }
Beispiel #7
0
 protected StaticLet2(StaticLambda rator, SCode rand0, SCode rand1)
     : base(rator, rand0, rand1)
 {
     this.lambda = rator;
 }