Permalink
Commits on Dec 25, 2011
  1. Merge pull request #6 from bovinespirit/master

    Remove NFData instances from benchmark code
    foxik committed Dec 25, 2011
Commits on Dec 24, 2011
Commits on Dec 20, 2011
  1. Merge pull request #5 from hvr/master-ghc74fixups

    Relax build deps to allow GHC-7.4's deepseq-1.3.0
    foxik committed Dec 20, 2011
Commits on Dec 19, 2011
Commits on Dec 1, 2011
  1. Allow test-suites to work with GHC < 7.0.

    Due to several problems with older versions of GHC and Cabal,
    some extensions have to be switched unconditionaly in test-suites
    to allow GHC < 7.0 to work.
    
    The reason is
    * GHC < 7.0 cannot handle conditional LANGUAGE pragmas and therefore
      the extensions have to be specified in cabal file.
    * GHC = 7.0 with bundled Cabal cannot handle conditionals in
      test-suites and so we cannot enable the extensions conditionally.
    
    When testing with GHC < 7.0 is no longer necessary, the extensions
    in test-suites can be removed.
    foxik committed Dec 1, 2011
Commits on Nov 30, 2011
  1. Improvements of test-suites compilation.

    Previously the test-suites could be compiled only when a special
    testing version of the library was built using -ftesting flag.
    As commented by Duncan, that is bad -- users which enable testing
    by default would install the testing version of library.
    
    Now the test-suites do not link against the whole containers,
    but compiles the necessary modules separately, with special testing
    flags.
    foxik committed Nov 30, 2011
Commits on Nov 29, 2011
  1. Add NFData instances ...

    ... for Data.Graph.SCC and Data.Sequence.Seq.
    foxik committed Nov 29, 2011
  2. Fix compilation with ghc-6.12.

    GHC < 7.0 cannot handle conditional pragmas, which we use.
    Therefore for GHC < 7.0, the extensions are specified in the cabal file.
    When GHC < 7.0 obsoletes, we will remove them.
    foxik committed Nov 29, 2011
Commits on Nov 28, 2011
  1. Overhaul INLINE and INLINABLE in Map and Set.

    * Rename INLINEABLE -> INLINABLE
      Though both work, the latter is the preferred according the docs.
    
    * Remove INLINABLE on methods not using type classes, as INLINABLE has
      real effect only on functions that use type classes (they get
      specialised in the call-site module).
    
      It also allows worker-wrapper transform on functions not marked
      INLINABLE (which surprisingly did not happen with INLINABLE).
    
    * In GHC, INLINing the INLINABLE method as in
        update f = updateWithKey (\_ x -> f x)
        {-# INLINE update #-}
        updateWithKey = ...
        {-# INLINABLE updateWithKey #-}
      does not produce wanted result -- the updateWithKey does not get
      specialized in the call-site module.
    
      The solution is to mark both functions INLINABLE.
    
    * Mark trivial functions as INLINE.
    foxik committed Nov 25, 2011
Commits on Nov 25, 2011
  1. Mark all modules using GHC.Exts as Trustworthy.

    GHC.Exts has been marked Unsafe in the base.
    foxik committed Nov 25, 2011
  2. Add BangPatterns to IntSet.

    The bang pattern is used to bind local literal of type Addr#.
    GHC 7.0 allowed it without the extension, GHC 7.3 fails without it.
    foxik committed Nov 25, 2011
  3. Remove unused code.

    foxik committed Nov 25, 2011
  4. Update the documentation of strictness properties.

    * Document the strictness of keys in Map.Lazy and IntMap.Lazy.
    
    * Document the strictness properties of IntMap.Strict.
    
    * Document the strictness of keys in Set and IntSet.
    
    * Unify various module descriptions accross Map, Set, Int{Map,Set}.
    foxik committed Nov 25, 2011
  5. Improve fusion rules.

    * Add fusion rule for Data.IntMap.toAscList.
    
    * Remove the GHC >= 503 condition.
    
    * Make assocs, elems and toList call toAscList.
    
    * Improve documentation of assocs, elems, toList, toAscList.
    foxik committed Nov 24, 2011
  6. Implement list fusion for {Int,}{MapSet}

    I am not fully convinced that it works well with the INLINEABLE pragmas,
    but it won’t do harm this way either.
    nomeata committed with foxik Sep 21, 2011
Commits on Nov 24, 2011
  1. IntMap refactoring.

    * Remove top-level *Unsigned top-level methods and use
      local definitions instead.
    
    * Remove top-level split' and splitLookup' and use local
      definitions instead.
    foxik committed Nov 24, 2011
  2. Extensions are now maintained per-file.

    We drop the cabal support for extensions and instead list
    all needed extensions in the file needing them.
    
    It is a bit ugly, but feels better. We can now compile individual
    files without cabal support (i.e., we can do ghci file).
    foxik committed Nov 24, 2011
  3. Spaces at end of lines removed.

    Since my Google internship I am annoyed by spaced before end of lines
    as vim shows them in red color.
    foxik committed Nov 24, 2011
  4. Refactor and improve seq-properties.

    * Use test-framework as the rest of the testsuite.
    
    * Move testing-related code from Data.Sequence to seq-properties.
    foxik committed Nov 24, 2011
Commits on Nov 23, 2011
  1. Modify map and intmap tests to use test-framework.

    The old manually-run QuickCheck methods are run by
    test-framework now, because the framework can suppress
    noisy output and also return non-zero exitcode on error.
    Also duplicated properties were removed.
    foxik committed Nov 23, 2011
  2. Updated errorneous documentation.

    Comments to update{Min,Max}[WithKey] were previously taken from
    Data.Map and were wrong.
    
    In Data.Map, the update function returns Maybe and possibly removes the
    value.  But Data.IntMap version returns only the value and cannot cause
    the maximum to be removed.
    foxik committed Nov 23, 2011
  3. Improve docs of mapKeys.

    The problem found out when improving tests.
    foxik committed Nov 23, 2011
  4. Cabalize set and intset tests.

    Use test-framework, which suppresses noisy QuickCheck output,
    prints a nice summary and returns non-zero exitcode on failure.
    
    Also the set tests were improved using several intset properties.
    foxik committed Nov 23, 2011
  5. Small changes to compile flags.

    * ghc-prim is available since 6.10, was part of base before
    * -fregs-graph is activated by -O2 since ghc 7.0 and had
      performance issues before that. Reference: ticket #2790.
    foxik committed Nov 23, 2011
Commits on Nov 22, 2011
  1. -Wall police

    tibbe committed Nov 22, 2011
  2. Remove unused language pragmas

    tibbe committed Nov 22, 2011
  3. Whitespace only

    tibbe committed Nov 22, 2011
  4. Merge branch 'dense-intset'

    Conflicts:
    	containers.cabal
    foxik committed Nov 22, 2011