Skip to content
Snippets Groups Projects
  1. May 30, 2000
  2. May 29, 2000
  3. May 28, 2000
  4. May 27, 2000
  5. May 26, 2000
  6. May 25, 2000
    • sven.panne@aedion.de's avatar
      [project @ 2000-05-25 13:11:17 by panne] · 7a5e524c
      sven.panne@aedion.de authored
      * Small fix for SPJ's last huge commit: Remove dependency on ghc-iface
        from Makefile.
      
      * Nuke ghc-recomp.lprl, this hasn't been used for a long time (I hope :-}
      
      (merge when/if SPJ's commit is merged)
      7a5e524c
    • sven.panne@aedion.de's avatar
      [project @ 2000-05-25 12:54:05 by panne] · 90f550a3
      sven.panne@aedion.de authored
      Cosmetics: Removed a whole bunch of "Field `foo' is not initialised"
      warnings. This should not have any impact on efficiency, as GHC
      inserts `recConError "blah"' expressions for uninitialised fields
      anyway, and I can't see any danger of space leaks.
      (can be merged with 4.07)
      90f550a3
    • sven.panne@aedion.de's avatar
      [project @ 2000-05-25 12:49:34 by panne] · 23acbea8
      sven.panne@aedion.de authored
      Cosmetics: Removed two "Pattern match(es) are overlapped" warnings.
      (can be merged with 4.07)
      23acbea8
    • Simon Peyton Jones's avatar
      [project @ 2000-05-25 12:41:14 by simonpj] · 495ef8bd
      Simon Peyton Jones authored
      ~~~~~~~~~~~~
      		Apr/May 2000
      		~~~~~~~~~~~~
      
      This is a pretty big commit!  It adds stuff I've been working on
      over the last month or so.  DO NOT MERGE IT WITH 4.07!
      
      Interface file formats have changed a little; you'll need
      to make clean before remaking.
      
      						Simon PJ
      
      Recompilation checking
      ~~~~~~~~~~~~~~~~~~~~~~
      Substantial improvement in recompilation checking.  The version management
      is now entirely internal to GHC.  ghc-iface.lprl is dead!
      
      The trick is to generate the new interface file in two steps:
        - first convert Types etc to HsTypes etc, and thereby
      	build a new ParsedIface
        - then compare against the parsed (but not renamed) version of the old
      	interface file
      Doing this meant adding code to convert *to* HsSyn things, and to
      compare HsSyn things for equality.  That is the main tedious bit.
      
      Another improvement is that we now track version info for
      fixities and rules, which was missing before.
      
      
      Interface file reading
      ~~~~~~~~~~~~~~~~~~~~~~
      Make interface files reading more robust.
        * If the old interface file is unreadable, don't fail. [bug fix]
      
        * If the old interface file mentions interfaces
          that are unreadable, don't fail. [bug fix]
      
        * When we can't find the interface file,
          print the directories we are looking in.  [feature]
      
      
      Type signatures
      ~~~~~~~~~~~~~~~
        * New flag -ddump-types to print type signatures
      
      
      Type pruning
      ~~~~~~~~~~~~
      When importing
      	data T = T1 A | T2 B | T3 C
      it seems excessive to import the types A, B, C as well, unless
      the constructors T1, T2 etc are used.  A,B,C might be more types,
      and importing them may mean reading more interfaces, and so on.
       So the idea is that the renamer will just import the decl
      	data T
      unless one of the constructors is used.  This turns out to be quite
      easy to implement.  The downside is that we must make sure the
      constructors are always available if they are really needed, so
      I regard this as an experimental feature.
      
      
      Elimininate ThinAir names
      ~~~~~~~~~~~~~~~~~~~~~~~~~
      Eliminate ThinAir.lhs and all its works.  It was always a hack, and now
      the desugarer carries around an environment I think we can nuke ThinAir
      altogether.
      
      As part of this, I had to move all the Prelude RdrName defns from PrelInfo
      to PrelMods --- so I renamed PrelMods as PrelNames.
      
      I also had to move the builtinRules so that they are injected by the renamer
      (rather than appearing out of the blue in SimplCore).  This is if anything simpler.
      
      Miscellaneous
      ~~~~~~~~~~~~~
      * Tidy up the data types involved in Rules
      
      * Eliminate RnEnv.better_provenance; use Name.hasBetterProv instead
      
      * Add Unique.hasKey :: Uniquable a => a -> Unique -> Bool
        It's useful in a lot of places
      
      * Fix a bug in interface file parsing for __U[!]
      495ef8bd
    • Simon Marlow's avatar
      [project @ 2000-05-25 10:40:39 by simonmar] · b5c71bff
      Simon Marlow authored
      Add missing case in parsing of inline pragmas.
      b5c71bff
    • Simon Marlow's avatar
      [project @ 2000-05-25 09:16:56 by simonmar] · b537743d
      Simon Marlow authored
      raise_info, the info table we use for overwriting thunks with an
      exception, had the bogus closure type of FUN.  This was mostly
      harmless, but caused some confusion for THUNK_SELECTORs, which rightly
      assumed that they shouldn't be pointing at FUNs.
      
      The fix is to change the type to THUNK, which is slightly closer to
      being true.
      
      This fixes Alastair Reid's "THUNK_SELECTOR: strange selectee" bug.
      b537743d
    • AndyGill's avatar
      [project @ 2000-05-25 08:36:34 by andy] · fac89d43
      AndyGill authored
      Fixing up names to make a reasonable use of Java packages.
      This is just one of a number of steps before attacking the Prelude.
      
      Fixing up the output order of the inner classes, making postprocessing easier.
      fac89d43
  7. May 24, 2000
Loading