1. 08 Mar, 1999 1 commit
  2. 04 Mar, 1999 1 commit
    • simonm's avatar
      [project @ 1999-03-04 17:52:08 by simonm] · 00dab891
      simonm authored
      Top-level non-updatable thunks get closure type FUN_STATIC, not
      THUNK_STATIC.  (helps the garbage collector decide where the static
      link field should be).
      00dab891
  3. 02 Mar, 1999 2 commits
    • simonm's avatar
      [project @ 1999-03-02 16:09:28 by simonm] · 7f083558
      simonm authored
      Add missing default case to mkRegLiveness.
      7f083558
    • sof's avatar
      [project @ 1999-03-02 14:34:33 by sof] · dc7d7a2f
      sof authored
      - import list tweaks
      - moved the code that decides that a StgCon really shouldn't
        be mapped to a static constructor but an updateable thunk
        if it contains lit-lits from the codegen into the CoreToStg
        translation.
      
        Added an extra case to this code to deal with StgCon's that contain
        references to values that reside in a DLL, where we also have to
        opt for an updateable thunk instead of a static constructor. Only
        applies when compiling on/for Win32 platforms.
      dc7d7a2f
  4. 01 Mar, 1999 1 commit
  5. 27 Jan, 1999 2 commits
    • simonpj's avatar
      [project @ 1999-01-27 16:54:18 by simonpj] · e44d2542
      simonpj authored
      Undo bogus fix to CgCase.lhs
      e44d2542
    • simonpj's avatar
      [project @ 1999-01-27 14:51:14 by simonpj] · 18976e61
      simonpj authored
      Finally!  This commits the ongoing saga of Simon's hygiene sweep
      
      FUNCTIONALITY
      ~~~~~~~~~~~~~
      a) The 'unused variable' warnings from the renamer work.  
      b) Better error messages here and there, esp type checker
      c) Fixities for Haskell 98 (maybe I'd done that before)
      d) Lazy reporting of name clashes for Haskell 98 (ditto)
      
      HYGIENE
      ~~~~~~~
      a) type OccName has its own module.  OccNames are represented
         by a single FastString, not three as in the last round.  This
         string is held in Z-encoded form; a decoding function decodes
         for printing in user error messages.  There's a nice tight
         encoding for (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
      
      b) type Module is a proper ADT, in module OccName
      
      c) type RdrName is a proper ADT, in its own module
      
      d) type Name has a new, somwhat tidier, representation
      
      e) much grunting in the renamer to get Provenances right.
         This makes error messages look better (no spurious qualifiers)
      18976e61
  6. 26 Jan, 1999 1 commit
  7. 22 Jan, 1999 2 commits
  8. 21 Jan, 1999 1 commit
  9. 18 Jan, 1999 1 commit
  10. 15 Jan, 1999 1 commit
  11. 14 Jan, 1999 1 commit
    • sof's avatar
      [project @ 1999-01-14 17:58:41 by sof] · 3160f854
      sof authored
      Assorted minor Haskell 98 changes:
      
        * Maximal munch rule for "--" comments
        * _ as lower-case letter, "_" is a reserved id. Prefixing unused
          variable names in patterns with '_' causes the renamer not to
          report such names as being unused.
        * allow empty decls
        * comprehensions are now list comprehensions, not monadic.
        * use Monad.fail to signal pattern matching errors within
          do expressions.
        * remove record punning.
        * empty contexts are now legal  (go wild!)
        * allow records with no fields
        * allow newtypes with a labelled field
        * default default is now (Integer, Double)
        * turn off defaulting mechanism for args & res to a _ccall_.
        * allow LHSs of the form  (a -.- b) x = ...
        * Main.main can now have type (IO a)
        * nuked Void (and its use in the compiler sources.)
        * deriving machinery for Enum now also generate 'succ' and 'pred'
          method bindings.
      3160f854
  12. 06 Jan, 1999 2 commits
  13. 22 Dec, 1998 2 commits
  14. 18 Dec, 1998 1 commit
    • simonpj's avatar
      [project @ 1998-12-18 17:40:31 by simonpj] · 7e602b0a
      simonpj authored
      Another big commit from Simon.  Actually, the last one
      didn't all go into the main trunk; because of a CVS glitch it
      ended up in the wrong branch.
      
      So this commit includes:
      
      * Scoped type variables
      * Warnings for unused variables should work now (they didn't before)
      * Simplifier improvements:
      	- Much better treatment of strict arguments
      	- Better treatment of bottoming Ids
      	- No need for w/w split for fns that are merely strict
      	- Fewer iterations needed, I hope
      * Less gratuitous renaming in interface files and abs C
      * OccName is a separate module, and is an abstract data type
      
      I think the whole Prelude and Exts libraries compile correctly.
      Something isn't quite right about typechecking existentials though.
      7e602b0a
  15. 03 Dec, 1998 1 commit
    • simonm's avatar
      [project @ 1998-12-03 17:23:30 by simonm] · 052f7342
      simonm authored
      Inline PrimOps (inc. _c{call,asm}_GC_): load the arguments into
      temporaries early, just in case one of the arguments is in the spot on
      the stack where we want to push the return address.
      052f7342
  16. 02 Dec, 1998 1 commit
  17. 14 Aug, 1998 2 commits
  18. 01 Jun, 1998 1 commit
  19. 26 May, 1998 1 commit
  20. 22 May, 1998 1 commit
    • simonm's avatar
      [project @ 1998-05-22 15:23:11 by simonm] · f36fb2ce
      simonm authored
      Add NOINLINE pragma.
      
      - add new type of inline info: IDontWantToBeINLINEd
      
      - hopefully get the interactions between IMustNotBeINLINEd (which is
        used by the simplifier to ensure termination when simplifying
        recursive binding groups) and IDontWantToBeINLINEd.
      
      - no need to pass NOINLINE across modules, we just make sure that any
        function marked as NOLINE doesn't get an unfolding in the interface.
      f36fb2ce
  21. 19 Mar, 1998 1 commit
  22. 23 Feb, 1998 1 commit
    • simonm's avatar
      [project @ 1998-02-23 13:01:32 by simonm] · 6b28dc92
      simonm authored
      Fix CharLike and IntLike support:
      
      	- rename maybeCharLikeTyCon to maybeCharLikeCon
      	- rename maybeIntLikeTyCon  to maybeIntLikeCon
      
      and make them return Bool instead of (Maybe TyCon).
      6b28dc92
  23. 10 Feb, 1998 1 commit
  24. 09 Jan, 1998 1 commit
  25. 08 Jan, 1998 1 commit
    • simonm's avatar
      [project @ 1998-01-08 18:03:08 by simonm] · 9dd6e1c2
      simonm authored
      The Great Multi-Parameter Type Classes Merge.
      
      Notes from Simon (abridged):
      
      * Multi-parameter type classes are fully implemented.
      * Error messages from the type checker should be noticeably improved
      * Warnings for unused bindings (-fwarn-unused-names)
      * many other minor bug fixes.
      
      Internally there are the following changes
      
      * Removal of Haskell 1.2 compatibility.
      * Dramatic clean-up of the PprStyle stuff.
      * The type Type has been substantially changed.
      * The dictionary for each class is represented by a new
        data type for that purpose, rather than by a tuple.
      9dd6e1c2
  26. 25 Nov, 1997 1 commit
    • sof's avatar
      [project @ 1997-11-25 18:00:56 by sof] · fc1e9b53
      sof authored
      Move StableLoc (and assoc. access functions) from CgBindery to CgMonad. Done to avoid having to give the home of Maybe in CgBindery.hi-boot.
      fc1e9b53
  27. 23 Oct, 1997 1 commit
  28. 19 Oct, 1997 1 commit
  29. 03 Sep, 1997 1 commit
  30. 02 Aug, 1997 1 commit
  31. 26 Jul, 1997 1 commit
  32. 25 Jul, 1997 1 commit
  33. 05 Jul, 1997 1 commit
  34. 20 Jun, 1997 1 commit