[project @ 2000-05-11 07:10:11 by andy]
authorandy <unknown>
Thu, 11 May 2000 07:10:11 +0000 (07:10 +0000)
committerandy <unknown>
Thu, 11 May 2000 07:10:11 +0000 (07:10 +0000)
commit53a7fa7dd4edbf25019cd4764f1b798bd8286975
treee825463485752d7de6686270358081690a431cb6
parentfa2efd1ea7fe23ccb8a1b029e3a8c9047b462045
[project @ 2000-05-11 07:10:11 by andy]
First attempt at at class lifter for the GHC GOO backend.

This included a cleanup of the Java/GOO abstract syntax
  - Name is now a string, not a list of string
  - Type is used instead of name in some places
      (for example, with new)
  - other minor tweeks.

Andy

---------
Example for myS f g x = 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 Code(g, x)));
    return f;
  }
}
class myS$1 {
  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;
  }
}
ghc/compiler/javaGen/Java.lhs
ghc/compiler/javaGen/JavaGen.lhs
ghc/compiler/javaGen/PrintJava.lhs