- 30 Oct, 2014 1 commit
-
-
Austin Seipp authored
This makes sure the --cross-compile mode can handle negative enum values. Differential Revision: https://phabricator.haskell.org/D301Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
- 29 Oct, 2014 4 commits
-
-
gintas authored
The warning was breaking validate.sh runs due to -Wall. Reviewers: austin Reviewed By: austin Subscribers: #ghc_windows_task_force, thomie, carter, simonmar Differential Revision: https://phabricator.haskell.org/D400
-
David Feuer authored
Rewrite `take` more aggressively for fusion. Add some more explicit strictness to `unsafeTake` and `unsafeDrop` that seems to help code size and allocation just a drop in some nofib tests. They were not previously strict in their numerical arguments, but always called in contexts where those had been forced; it didn't make a difference in simple test cases, but made a small difference for nofib. See #9740. Differential Revision: https://phabricator.haskell.org/D394
-
Herbert Valerio Riedel authored
This also updates a few occurences of recently added "Example" headings to make use of this new feature for testing
-
David Feuer authored
Rearrange some oddly placed code. Modify `take` to make the fold unconditionally strict in the passed `Int`. This clears up the `fft2` regression. This fixes #9740. Differential Revision: https://phabricator.haskell.org/D390
-
- 28 Oct, 2014 5 commits
-
-
David Feuer authored
This gets rid of all hand-unboxing in `GHC.List` and moves `Foldable` requirements from `Data.OldList` into `GHC.List` (preparatory work for addressing #9716). Specifically, this moves the definition of `maximum`, `minimum`, `foldl'`, `foldl1`, `foldl1'`, `sum`, and `product` into `GHC.List` (which now needs to import `GHC.Num`) Make `take`, `drop`, `length`, and `!!` generally saner (see also #9510) Performance overall seems minimally affected. Some things go up; some things go down; nothing moves horribly much. The code is much easier to read. Differential Revision: https://phabricator.haskell.org/D380
-
Joachim Breitner authored
When investigating a case of unexpected Call Arity failure I noticed that iterateFB would not inline as far as desired, as it is recursive. This patch makes it non-recursive (with a local go), which seem so do great good.
-
Joachim Breitner authored
And make normalise_fun polyvariadic. After all, this is untyped code, so lets make use of it :-)
-
Herbert Valerio Riedel authored
This is more readable than nesting `two_normalisers()`-invocations
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- 27 Oct, 2014 5 commits
-
-
Gabor Greif authored
-
David Feuer authored
The new implementation avoids reversing the "haystack" list, which can be very expensive. Reviewed By: ekmett Differential Revision: https://phabricator.haskell.org/D330
-
Herbert Valerio Riedel authored
Summary: T3064 is deactivated for now because it's currently too volatile and causes too much noise in Phabricator's CI C.f. 4805abf4 Reviewers: austin Subscribers: thomie, carter, ezyang, simonmar Differential Revision: https://phabricator.haskell.org/D381
-
Herbert Valerio Riedel authored
Integer is currently a wired-in type for integer-gmp. This requires replicating its inner structure in `TysWiredIn`, which makes it much harder to change Integer to a more complex representation (as e.g. needed for implementing #9281) This commit stops `Integer` being a wired-in type, and makes it known-key type instead, thereby simplifying code notably. Reviewed By: austin Differential Revision: https://phabricator.haskell.org/D351
-
David Feuer authored
This forces the new value before installing it in the IORef. This optimisation was originally suggested by Patrick Palka and "exhibits a speedup of 1.7x (vanilla RTS) / 1.4x (threaded RTS)" according to #8345 Reviewed By: austin, simonmar Differential Revision: https://phabricator.haskell.org/D315
-
- 26 Oct, 2014 2 commits
-
-
Herbert Valerio Riedel authored
This adds the module `Data.Bifunctor` providing the `Bifunctor(bimap,first,second)` class and a couple of instances This module and the class were previously exported by the `bifunctors` package. In contrast to the original module all `INLINE` pragmas have been removed. Reviewed By: ekmett, austin, dolio Differential Revision: https://phabricator.haskell.org/D336
-
Austin Seipp authored
Looks like it was broken in aa479953. Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
- 25 Oct, 2014 4 commits
-
-
Herbert Valerio Riedel authored
This removes all remaining tabs from `base`'s source code
-
gintas authored
Reviewers: austin Reviewed By: austin Subscribers: thomie, carter, ezyang, simonmar Differential Revision: https://phabricator.haskell.org/D370 GHC Trac Issues: #9720
-
Yuras authored
Summary: The function is defined in TcForeign module, but misspelled comment makes it hard to find Reviewers: austin Reviewed By: austin Subscribers: thomie, carter, ezyang, simonmar Differential Revision: https://phabricator.haskell.org/D368
-
Austin Seipp authored
Authored-by:
Simon Marlow <marlowsd@gmail.com> Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
- 24 Oct, 2014 3 commits
-
-
Edward Z. Yang authored
Summary: Module signatures, like hs-boot files, are Haskell modules which omit value definitions and contain only signatures. This patchset implements one particular aspect of module signature, namely compiling them against a concrete implementation. It works like this: when we compile an hsig file, we must be told (via the -sig-of flag) what module this signature is implementing. The signature is compiled into an interface file which reexports precisely the entities mentioned in the signature file. We also verify that the interface is compatible with the implementation. This feature is useful in a few situations: 1. Like explicit import lists, signatures can be used to reduce sensitivity to upstream changes. However, a signature can be defined once and then reused by many modules. 2. Signatures can be used to quickly check if a new upstream version is compatible, by typechecking just the signatures and not the actual modules. 3. A signature can be used to mediate separate modular development, where the signature is used as a placeholder for functionality which is loaded in later. (This is only half useful at the moment, since typechecking against signatures without implementations is not implemented in this patchset.) Unlike hs-boot files, hsig files impose no performance overhead. This patchset punts on the type class instances (and type families) problem: instances simply leak from the implementation to the signature. You can explicitly specify what instances you expect to have, and those will be checked, but you may get more instances than you asked for. Our eventual plan is to allow hiding instances, but to consider all transitively reachable instances when considering overlap and soundness. ToDo: signature merging: when a module is provided by multiple signatures for the same base implementation, we should not consider this ambiguous. ToDo: at the moment, signatures do not constitute use-sites, so if you write a signature for a deprecated function, you won't get a warning when you compile the signature. Future work: The ability to feed in shaping information so that we can take advantage of more type equalities than might be immediately evident. Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu> Test Plan: validate and new tests Reviewers: simonpj, simonmar, hvr, austin Subscribers: simonmar, relrod, ezyang, carter, goldfire Differential Revision: https://phabricator.haskell.org/D130 GHC Trac Issues: #9252
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
-
- 23 Oct, 2014 1 commit
-
-
Simon Marlow authored
When there's a conflict between two threads evacuating the same TSO, in some cases we would update the incall->tso pointer to point to the wrong copy of the TSO. This would get fixed during the next GC, but if the thread completed in the meantime, it would likely crash. We're seeing this about once per day on a heavily loaded machine (it varies a lot though).
-
- 22 Oct, 2014 2 commits
-
-
Joachim Breitner authored
(sorry)
-
Joachim Breitner authored
-
- 21 Oct, 2014 13 commits
-
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-