1. 08 Dec, 2006 1 commit
  2. 06 Dec, 2006 1 commit
  3. 29 Nov, 2006 1 commit
  4. 10 Nov, 2006 1 commit
  5. 24 Oct, 2006 1 commit
    • andy@galois.com's avatar
      Haskell Program Coverage · d5934bbb
      andy@galois.com authored
      This large checkin is the new ghc version of Haskell
      Program Coverage, an expression-level coverage tool for Haskell.
       - Hpc.[ch] - small runtime support for Hpc; reading/writing *.tix files.
       - Coverage.lhs - Annotates the HsSyn with coverage tickboxes.
        - New Note's in Core,
            - TickBox      -- ticked on entry to sub-expression
            - BinaryTickBox  -- ticked on exit to sub-expression, depending
      	       	     -- on the boolean result.
        - New Stg level TickBox (no BinaryTickBoxes, though) 
      You can run the coverage tool with -fhpc at compile time. 
      Main must be compiled with -fhpc. 
  6. 22 Oct, 2006 1 commit
    • chak@cse.unsw.edu.au.'s avatar
      Fix handling of family instances in the presense of this doc stuff · f39ff24b
      chak@cse.unsw.edu.au. authored
      - Not sure whether I do the right thing, because I don't understand the
        doc stuff.  However, the original code was definitely wrong and
        breaking the renaming of family instance declarations.
      - The important point is that in
          data instance T pats = rhs
        T is *not* a defining occurence of T (similarly as C is not a defining
        occurence in "instance C Int").
  7. 11 Oct, 2006 2 commits
    • Simon Marlow's avatar
      Module header tidyup #2 · 046ee54f
      Simon Marlow authored
      Push this further along, and fix build problems in the first patch.
    • Simon Marlow's avatar
      Interface file optimisation and removal of nameParent · b00b5bc0
      Simon Marlow authored
      This large commit combines several interrelated changes:
        - IfaceSyn now contains actual Names rather than the special
          IfaceExtName type.  The binary interface file contains
          a symbol table of Names, where each entry is a (package,
          ModuleName, OccName) triple.  Names in the IfaceSyn point
          to entries in the symbol table.
          This reduces the size of interface files, which should
          hopefully improve performance (not measured yet).
          The toIfaceXXX functions now do not need to pass around
          a function from Name -> IfaceExtName, which makes that
          code simpler.
        - Names now do not point directly to their parents, and the
          nameParent operation has gone away.  It turned out to be hard to
          keep this information consistent in practice, and the parent info
          was only valid in some Names.  Instead we made the following
          * ImportAvails contains a new field 
                imp_parent :: NameEnv AvailInfo
            which gives the family info for any Name in scope, and
            is used by the renamer when renaming export lists, amongst
            other things.  This info is thrown away after renaming.
          * The mi_ver_fn field of ModIface now maps to
            (OccName,Version) instead of just Version, where the
            OccName is the parent name.  This mapping is used when
            constructing the usage info for dependent modules.
            There may be entries in mi_ver_fn for things that are not in
            scope, whereas imp_parent only deals with in-scope things.
          * The md_exports field of ModDetails now contains
            [AvailInfo] rather than NameSet.  This gives us
            family info for the exported names of a module.
         - ifaceDeclSubBinders moved to IfaceSyn (seems like the
           right place for it).
         - heavily refactored renaming of import/export lists.
         - Unfortunately external core is now broken, as it relied on
           IfaceSyn.  It requires some attention.
  8. 09 Oct, 2006 1 commit
  9. 05 Oct, 2006 1 commit
  10. 21 Sep, 2006 1 commit
  11. 20 Sep, 2006 1 commit
  12. 18 Sep, 2006 1 commit
  13. 17 Sep, 2006 2 commits
  14. 29 Sep, 2006 2 commits
  15. 20 Sep, 2006 3 commits
    • chak@cse.unsw.edu.au.'s avatar
      Option -findexed-types · 284d83ee
      chak@cse.unsw.edu.au. authored
      Mon Sep 18 19:42:48 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
        * Option -findexed-types
        Fri Sep  8 21:35:37 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
          * Option -findexed-types
          - Introduced the switch -findexed-types to activate the indexed type family 
          - The switch enables the special 'family' and allows kind signatures (which are
            currently compulsory for associated families).
    • chak@cse.unsw.edu.au.'s avatar
      Kind sig for toplevel family decls is optional · 7ab880e6
      chak@cse.unsw.edu.au. authored
      Mon Sep 18 19:13:47 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
        * Kind sig for toplevel family decls is optional
        Sat Aug 26 19:03:50 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
          * Kind sig for toplevel family decls is optional
          - Kind sigs are still compulsory for AT family decls.  Changing this is more 
            tricky, as AT decls don't have the family keyword and hence look like empty 
            data decls.  That impacts reduce/reduce conflicts and/or the criteria for 
            checking whether a TyData variant is a family signature.
          - Also removed iso from the syntax (it's still in the lexer in case we want to
            resurrect it). 
    • chak@cse.unsw.edu.au.'s avatar
      Extend Class.Class to include the TyCons of ATs · bb106f28
      chak@cse.unsw.edu.au. authored
      Mon Sep 18 18:58:51 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
        * Extend Class.Class to include the TyCons of ATs
        Wed Aug 16 16:15:31 EDT 2006  Manuel M T Chakravarty <chak@cse.unsw.edu.au>
          * Extend Class.Class to include the TyCons of ATs
  16. 18 Sep, 2006 3 commits
  17. 15 Sep, 2006 6 commits
  18. 04 Aug, 2006 1 commit
  19. 02 Aug, 2006 1 commit
  20. 18 Sep, 2006 1 commit
  21. 12 Sep, 2006 2 commits
  22. 07 Sep, 2006 1 commit
    • simonpj@microsoft.com's avatar
      Result type signatures are no longer supported (partial) · 5a552652
      simonpj@microsoft.com authored
      I had failed to remove the bit where result type signatures bind
      lexical type variables.  And now we are planning to remove them entirely.
      This commit therefore does a partial removal (to avoid destablising 6.6).
      It also arranges that
      	f :: sig = rhs
      means a *pattern* binding (not a function binding with no arguments 
      and a result signature), which makes sense.
  23. 04 Sep, 2006 1 commit
  24. 21 Aug, 2006 2 commits
  25. 10 Aug, 2006 1 commit
  26. 09 Aug, 2006 1 commit