Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jul 18, 2014
  1. Module reexports, fixing #8407.

    authored
    The general approach is to add a new field to the package database,
    reexported-modules, which considered by the module finder as possible
    module declarations.  Unlike declaring stub module files, multiple
    reexports of the same physical package at the same name do not
    result in an ambiguous import.
    
    NB: When a reexport renames a module, that renaming is *not* accessible
    from inside the package.  This is not so much a deliberate design choice
    as for implementation expediency (reexport resolution happens only when
    a package is in the package database.)
    
    TODO: Error handling when there are duplicate reexports/etc is not very
    well tested.
    
    Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
  2. Update to Cabal HEAD.

    authored
    Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
  3. simonpj

    Further improvements to floating equalities

    simonpj authored
    This equality-floating stuff is horribly delicate!  Trac #9316 showed
    up yet another corner case.
    
    The main changes are
     * include CTyVarEqs when "growing" the skolem set
     * do not include the kind argument to (~) when growing the skolem set
    
    I added a lot more comments as well
  4. simonpj

    Comments only

    simonpj authored
  5. simonpj
Commits on Jul 17, 2014
  1. Joachim Breitner

    Build on travis with CPUS=2

    nomeata authored
    With CPU=3 we are hitting resoure limits (probably memory). With CPU=2
    this is less likely to happen. We will get more random timeouts, but
    these are more easily spotted, and marked as "Failure", not as "Error".
  2. OK, I think we've finally solved granularity.

    authored
    Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
  3. Richard Eisenberg
  4. Joachim Breitner
  5. Joachim Breitner

    Adjust a few performance numbers

    nomeata authored
    These did not yet trigger a failure, but are more than 1% away from the
    expected value. Since I now start collecting logs to investigate
    deviations from the expected value, it makes sense to reset them. This
    way we know that every significat deviation was caused since this
    commit.
    
    I only updated bytes_allocated numbers, as these are (mostly)
    deterministic. Other depend, AFAIK, on sampling timing, so I did not
    bother.
  6. Joachim Breitner

    Include test case name in performance result

    nomeata authored
    With THREADS=n, for n > 1, it becomes impossible to match the
    performance numbers to the test case name. Hence include it in the
    output. This also makes grepping through a bunch of logs for a specific
    test case much easier, and outweighs the extra verbosity.
  7. simonpj

    Test Trac #9323

    simonpj authored
  8. Joachim Breitner

    Richards optCoercion improvement made test cases fail the nice way

    nomeata authored
    This was likely caused by 5e7406d, which fixed #9233.
  9. Herbert Valerio Riedel

    Workaround haddock parser error caused by 5e7406d

    hvr authored
    Haddock complains if a comment looks like a misplaced Haddock-comment.
    In this case, the comment line starting with `-- *kind* and` looked like a
    section-heading to Haddock and caused the following error:
    
        parse error on input ‘-- *kind* and role of its argument. Luckily, laziness should’
    
    This commit just rewraps the line so that no `*` appear at the start of the
    non-Haddock comment lines.
    
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Commits on Jul 16, 2014
  1. Richard Eisenberg

    Optimise optCoercion. (#9233)

    goldfirere authored
    The old optCoercion (and helper functions) used coercionKind and
    coercionRole internally. This was terrible when these had to be
    called at *every* point in the coercion tree during the recursive
    descent. This is rewritten to avoid such calls.
  2. Richard Eisenberg

    Rewrite coercionRole. (#9233)

    goldfirere authored
    Summary:
    coercionRole is now much more efficient, computing both the coercion's
    kind and role together. The previous version calculated them separately,
    leading to quite possibly exponential behavior.
    
    This is still too slow, but it's a big improvement.
    
    Test Plan: Evaluate by running the "minimized" test from the Trac ticket.
    
    Reviewers: simonpj, austin
    
    Subscribers: simonmar, relrod, carter
    
    Differential Revision: https://phabricator.haskell.org/D73
  3. Try to explain the applicativity problem

    authored
    Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
Commits on Jul 15, 2014
  1. simonpj

    Improve documentation of overlapping instances (again)

    simonpj authored
    Prompted by Trac #9288
  2. simonpj

    Improve documentation of :set/:seti

    simonpj authored
    Prompted by Trac #9299
  3. simonpj

    Entirely re-jig the handling of default type-family instances (fixes …

    simonpj authored
    …Trac #9063)
    
    In looking at Trac #9063 I decided to re-design the default
    instances for associated type synonyms.  Previously it was all
    jolly complicated, to support generality that no one wanted, and
    was arguably undesirable.
    
    Specifically
    
    * The default instance for an associated type can have only
      type variables on the LHS.  (Not type patterns.)
    
    * There can be at most one default instances declaration for
      each associated type.
    
    To achieve this I had to do a surprisingly large amount of refactoring
    of HsSyn, specifically to parameterise HsDecls.TyFamEqn over the type
    of the LHS patterns.
    
    That change in HsDecls has a (trivial) knock-on effect in Haddock, so
    this commit does a submodule update too.
    
    The net result is good though.  The code is simpler; the language
    specification is simpler.  Happy days.
    
    Trac #9263 and #9264 are thereby fixed as well.
  4. simonpj

    Define PrelNames.allNameStrings and use it in TcHsType

    simonpj authored
    Refactoring only.
Commits on Jul 14, 2014
  1. simonpj

    White space only

    simonpj authored
  2. simonpj
  3. Austin Seipp

    Partially revert 194107e

    thoughtpolice authored
    This reverts the numbers for T9203.
    
    Signed-off-by: Austin Seipp <austin@well-typed.com>
  4. Joachim Breitner

    Give performance benchmark deviation also in percents

    nomeata authored
    this makes it easier to spot a “just over the mark” change (e.g. +5.1%),
    compared to a more radical jump (e.g. +15%).
  5. Joachim Breitner

    New testsuite verbosity level 4

    nomeata authored
    which makes it print performance numbers even when the test succeeds
    (good for historic analysis)
  6. Joachim Breitner

    Update various performance benchmarks

    nomeata authored
    I started monitoring perfomance on a per-commit base. These seem to be
    off for a while now. Adjusting them, and from now I hope I can keep
    closer tabs on them.
  7. Finish TCs section

    authored
    Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
  8. Type classes

    authored
    Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
  9. kgardas Austin Seipp

    add support for x86_64-solaris2 platform

    kgardas authored thoughtpolice committed
    Summary:
    this set of patches adds support for x86_64-solaris2 platform
    Solaris is multi-lib platform which means it provides 32bit user-land together
    with 32bit and 64bit libraries. The 32bit libraries are located in <somewhere>/lib
    directories while 64bit libraries are located in <somewhere>/lib/64 directories.
    This is why GHCi required the fix since otherwise it'll attempt to load
    /usr/lib/libgmp.so which is 32bit library into 64bit binary process space (GHCi).
    This of course fails with wrong ELFCLASS32 error message.
    Another issue was that by default GNU C distributed with Solaris compiles
    into 32bit binary. We need to enforce compilation to 64bit binary
    by adding appropriate -m64 option.
    
    Test Plan: already built on x86_64-solaris2
    
    Reviewers: austin
    
    Reviewed By: austin
    
    Subscribers: phaskell, simonmar, relrod, carter
    
    Differential Revision: https://phabricator.haskell.org/D68
Commits on Jul 13, 2014
  1. Edsko de Vries Austin Seipp

    Acquire all_tasks_mutex in forkProcess

    edsko authored thoughtpolice committed
    Summary: (for the same reason that we acquire all the other mutexes)
    
    Test Plan: validate
    
    Reviewers: simonmar, austin, duncan
    
    Reviewed By: simonmar, austin, duncan
    
    Subscribers: simonmar, relrod, carter
    
    Differential Revision: https://phabricator.haskell.org/D60
  2. Edsko de Vries Austin Seipp

    Avoid deadlock in freeTask (called by forkProcess)

    edsko authored thoughtpolice committed
    Summary: Documented in more detail inline with the change.
    
    Test Plan: validate
    
    Reviewers: austin, simonmar, duncan
    
    Reviewed By: austin, simonmar, duncan
    
    Subscribers: simonmar, relrod, carter
    
    Differential Revision: https://phabricator.haskell.org/D59
  3. shachaf Austin Seipp

    Fix ghci tab completion of duplicate identifiers.

    shachaf authored thoughtpolice committed
    Summary:
    Currently, if the same identifier is imported via multiple modules, ghci
    shows multiple completions for it. Use the nub of the completions
    instead so that it only shows up once.
    
    Signed-off-by: Shachaf Ben-Kiki <shachaf@gmail.com>
    
    Test Plan: by hand
    
    Reviewers: simonmar, austin, hvr
    
    Reviewed By: austin, hvr
    
    Subscribers: hvr, simonmar, relrod, carter
    
    Differential Revision: https://phabricator.haskell.org/D58
  4. Gabor Greif

    Typo in comment

    ggreif authored
Commits on Jul 12, 2014
  1. Joachim Breitner

    Test case for #9305

    nomeata authored
Something went wrong with that request. Please try again.