1. 10 Sep, 2003 1 commit
    • simonmar's avatar
      [project @ 2003-09-10 14:45:24 by simonmar] · 868973ac
      simonmar authored
      Quick hack to work around the dynamic exception crashes in GHCi.  The
      problem is this: the Data.Typeable library (Data.Dymamic in previous
      versions of GHC) maintains an internal cache mapping type names to
      unique numbers, and this cache is used for fast comparisons on
      TypeReps.  In GHCi, there are actually two versions of the
      Data.Typeable library loaded: one linked to GHCi itself, and the other
      dynamically loaded, so there are two copies of the hash tables.
      
      The problem is that if we have a Dynamic value generated using one set
      of hash tables, it will erroneously appear to be of a different type
      when the other hash tables are used.
      
      The hack I've instigated is to use the central RTS genSym (which
      already exists) to generate the unique Ids, so that the two copies of
      the dynamic library will be using distinct Ids, and Dynamics from one
      will never be recognisable to the other.
      868973ac
  2. 09 Sep, 2003 6 commits
  3. 08 Sep, 2003 10 commits
    • sof's avatar
      [project @ 2003-09-08 17:55:40 by sof] · 39ea6a04
      sof authored
      New option, -DNAME=VAL, for adding to the set of
      variables substituted for when processing a package
      description.
      
      (Needed to support Windows installers for GHC packages.)
      39ea6a04
    • panne's avatar
      [project @ 2003-09-08 14:46:37 by panne] · f6af3fa0
      panne authored
      *sigh* Handle lines like (note the blank!):
      
      {-# LINE 1 "<command line>" #-}
      f6af3fa0
    • simonmar's avatar
      [project @ 2003-09-08 14:23:11 by simonmar] · a629ff5c
      simonmar authored
      The POSIX library has more or less completed moving over to the
      hierarchical libraries, so remove the statement that says it hasn't
      moved.
      
      We should really aim to have everything moved from hslibs to libraries
      before 6.2, then we can finally remove hslibs altogether for 6.4.
      a629ff5c
    • simonmar's avatar
      [project @ 2003-09-08 13:33:29 by simonmar] · 4fbd1954
      simonmar authored
      Two more tokens that herald layout contexts: 'rec' and '[d|'.
      4fbd1954
    • panne's avatar
      [project @ 2003-09-08 13:31:35 by panne] · 5cbc33c2
      panne authored
      Handle lines like (note the blank!):
      
      # 1 "<command line>"
      5cbc33c2
    • simonmar's avatar
      [project @ 2003-09-08 13:20:29 by simonmar] · 500c76a8
      simonmar authored
      Add Alex as a pre-supposed tool, and mention it in a few places.
      500c76a8
    • simonmar's avatar
      [project @ 2003-09-08 13:01:16 by simonmar] · 90656575
      simonmar authored
      mdo needs layout treatment too.
      90656575
    • simonmar's avatar
      [project @ 2003-09-08 11:53:14 by simonmar] · 05aa4a18
      simonmar authored
      Remove old lexer; replaced by Lexer.x.
      05aa4a18
    • simonmar's avatar
      [project @ 2003-09-08 11:52:24 by simonmar] · 9541ef34
      simonmar authored
      Replace the handwritten lexer with one generated by Alex.
      
      YOU NOW NEED ALEX (v 2.0 or later) TO COMPILE GHC FROM CVS.
      
      Highlights:
      
        - Faster than the previous lexer (about 10% of total parse time,
          depending on the token mix).
      
        - More correct than the previous lexer: a couple of minor wibbles
          in the syntax were fixed.
      
        - Completely accurate source spans for each token are now collected.
          This information isn't used yet, but it will be used to give much
          more accurate error messages in the future.
      
        - SrcLoc now contains a column field as well as a line number,
          although this is currently ignored when printing out SrcLocs.
      
        - StringBuffer is now based on a ByteArray# rather than a Ptr, which
          means that StringBuffers are now garbage collected.  Previously
          StringBuffers were hardly ever released, so a GHCi session would
          leak space as more source files were loaded in.
      
        - Code size reduction: Lexer.x is about the same size as the old
          Lex.lhs, but StringBuffer.lhs is significantly shorter and
          simpler.  Sadly I wasn't able to get rid of parser/Ctypes.hs
          (yet).
      9541ef34
    • simonmar's avatar
      [project @ 2003-09-08 09:05:42 by simonmar] · 74fce831
      simonmar authored
      Update comp.lang.functional FAQ URL.
      74fce831
  4. 05 Sep, 2003 1 commit
  5. 04 Sep, 2003 5 commits
    • simonmar's avatar
      [project @ 2003-09-04 13:58:12 by simonmar] · 398ccea3
      simonmar authored
      - Document -e
      
      - Rearrange the documentation on "modes".  I've moved the list of
        modes from the beginning of "Using GHC", to a subsection a little
        later, and the sections describing make-mode and batch-mode are now
        further subsections of this.
      
      - Add missing modes to the list: -M and --mk-dll.
      398ccea3
    • simonmar's avatar
      [project @ 2003-09-04 11:08:46 by simonmar] · e98cf284
      simonmar authored
      Add a new command-line flag -e EXPR, which runs ghc in interactive
      mode and evaluates EXPR only before exiting.
      
      Also, the lexer now ignores lines beginning with "#!".  This is so
      that we can use ghc as a scripting language with Unix-style scripts
      beginning with
      
      #! /usr/local/bin/ghc -e main
      
      (well, it's not quite that simple, but I'll leave the details for the
      more enterprising hackers).
      e98cf284
    • simonmar's avatar
      [project @ 2003-09-04 09:56:16 by simonmar] · d0d9c936
      simonmar authored
      Don't bogusly use HOST instead of BUILD or TARGET in the platform defines.
      d0d9c936
    • simonmar's avatar
      [project @ 2003-09-04 09:55:28 by simonmar] · 2b7c9eee
      simonmar authored
      Flesh out the platform variables, rather than bogusly setting BUILD
      and TARGET to HOST most of the time.
      
      This doesn't give us any better cross-compiling support, but it's a
      step in the right direction.
      
      Also, I added a comment describing the proper meaning of BUILD
      vs. HOST vs. TARGET, and which one to test in various parts of the
      source tree.
      2b7c9eee
    • simonmar's avatar
      [project @ 2003-09-04 09:53:31 by simonmar] · c0d30cb3
      simonmar authored
      Uncomment AC_SUBSTs for many of the platform variables, since I'm
      guessing that this comment doesn't apply any more:
      
      dnl Cannot afford all these SUBSTs (because of braindead seds w/ 99 cmd limits)
      c0d30cb3
  6. 03 Sep, 2003 2 commits
  7. 02 Sep, 2003 3 commits
  8. 01 Sep, 2003 1 commit
  9. 29 Aug, 2003 4 commits
    • panne's avatar
      [project @ 2003-08-29 16:15:59 by panne] · bfc04eaf
      panne authored
      -fno-prune-tydecls is dead, Jim...
      bfc04eaf
    • simonmar's avatar
      [project @ 2003-08-29 16:13:48 by simonmar] · 5c0bddfb
      simonmar authored
      Oops, forgot one file in the x86_64 commit.
      5c0bddfb
    • simonmar's avatar
      [project @ 2003-08-29 16:00:25 by simonmar] · 7dc97354
      simonmar authored
      Initial x86-64 (aka amd64) support.
      
      Unregisterised it works perfectly.  Registerised, I think it's almost
      there, except that I seem to be running into the known codegen bug in
      GCC with register variables (bug #7871 in the gcc bugzilla), which
      means registerised support is basically hosed until the GCC folks
      can get their act together.
      
      We get 8 more registers on amd64, but only 2 more callee-saves
      registers.  The calling convention seems to pass args in registers by
      default, using the previously-callee-saves %rsi and %rdi as two of the
      new arg registers.
      
      I think GHCi should work, since we already have 64-bit ELF support
      thanks to Mat Chapman's work on the IA64 port.  I haven't tried GHCi,
      though.
      
      The native code generator should be a breeze, because it's so similar
      to plain x86.
      7dc97354
    • simonmar's avatar
      [project @ 2003-08-29 12:05:39 by simonmar] · f16020a8
      simonmar authored
      Remove unused references to $T_create_word
      f16020a8
  10. 28 Aug, 2003 3 commits
  11. 27 Aug, 2003 4 commits