Skip to content
  • AndyGill's avatar
    [project @ 2000-05-11 07:20:36 by andy] · 189393d1
    AndyGill authored
    Wibble...
    
    The corrected example is as follows:
    
    myS :: (forall t t1 t2. (t -> t2 -> t1) -> (t -> t2) -> t -> t1)
    [NoDiscard] __AL 3
    myS
      = \ @ t @ t1 @ t2 f :: (t -> t2 -> t1) g :: (t -> t2) x :: t -> f x (g x)
    
    public class myS implements Code {
      public Object ENTER () {
        VM.COLLECT(3, this);
        final Object f = VM.POP();
        final Object g = VM.POP();
        final Object x = VM.POP();
        VM.PUSH(x);
        VM.PUSH(new Thunk(new myS$1(g, x)));
        return f;
      }
    }
    class myS$1 extends Code {
      final Object g;
      final Object x;
      public myS$1 (Object _g_, Object _x_) {
        g = _g_;
        x = _x_;
      }
      public Object ENTER () {
        VM.PUSH(x);
        return g;
      }
    }
    189393d1