1. 07 Nov, 2000 1 commit
  2. 07 Aug, 2000 1 commit
    • qrczak's avatar
      [project @ 2000-08-07 23:37:19 by qrczak] · 4b172698
      qrczak authored
      Now Char, Char#, StgChar have 31 bits (physically 32).
      "foo"# is still an array of bytes.
      
      CharRep represents 32 bits (on a 64-bit arch too). There is also
      Int8Rep, used in those places where bytes were originally meant.
      readCharArray, indexCharOffAddr etc. still use bytes. Storable and
      {I,M}Array use wide Chars.
      
      In future perhaps all sized integers should be primitive types. Then
      some usages of indexing primops scattered through the code could
      be changed to then-available Int8 ones, and then Char variants of
      primops could be made wide (other usages that handle text should use
      conversion that will be provided later).
      
      I/O and _ccall_ arguments assume ISO-8859-1. UTF-8 is internally used
      for string literals (only).
      
      Z-encoding is ready for Unicode identifiers.
      
      Ranges of intlike and charlike closures are more easily configurable.
      
      I've probably broken nativeGen/MachCode.lhs:chrCode for Alpha but I
      don't know the Alpha assembler to fix it (what is zapnot?). Generally
      I'm not sure if I've done the NCG changes right.
      
      This commit breaks the binary compatibility (of course).
      
      TODO:
      * is* and to{Lower,Upper} in Char (in progress).
      * Libraries for text conversion (in design / experiments),
        to be plugged to I/O and a higher level foreign library.
      * PackedString.
      * StringBuffer and accepting source in encodings other than ISO-8859-1.
      4b172698
  3. 12 Jun, 2000 1 commit
  4. 09 Jun, 2000 1 commit
  5. 07 Jun, 2000 1 commit
  6. 06 Jun, 2000 2 commits
  7. 24 May, 2000 1 commit
    • andy's avatar
      [project @ 2000-05-24 07:31:44 by andy] · 3b24089d
      andy authored
      Adding a field to the Method constructor, to allow methods
      to say what they might raise. This is needed to actually
      compile generated code.
      
      Also, the generated code now imports haskell.runtime.*
      3b24089d
  8. 11 May, 2000 1 commit
    • andy's avatar
      [project @ 2000-05-11 07:10:11 by andy] · 53a7fa7d
      andy authored
      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;
        }
      }
      53a7fa7d
  9. 20 Apr, 2000 1 commit
    • simonpj's avatar
      [project @ 2000-04-20 16:45:16 by simonpj] · 1abb301c
      simonpj authored
      Add support for Java generation, written in
      a lightning day with Erik Meijer
      
      	ghc -J Foo.hs
      
      will do the business, generating Foo.java
      
      The code is in a new directory, javaGen/, so
      you'll need to cvs update -d.
      
      I've reorganised main/CodeOutput quite a bit; it
      is now much much tidier, and will accommodate new
      languages quite easily.
      
      I've also fiddled with the flags that communicate
      between the driver and hsc.
      
      GONE:	-S=  -C=
      
      NEW:	-olang=xxx	output language xxx
      			xxx can be: C, asm, java
      
      	-ofile=xxx	put the output code in file xxx
      
      
      BEWARE that I might have broken some of the more
      cryptic stuff in ghc.lprl.
      
      Simon
      1abb301c