summaryrefslogtreecommitdiff
path: root/libraries/array
Commit message (Collapse)AuthorAgeFilesLines
* Bump array and haddock submodulesVladislav Zavialov2019-10-081-0/+0
|
* Bump array submoduleRyan Scott2019-04-011-0/+0
| | | | | | This bumps `array` to version 0.5.4.0 so that we can distinguish it with `MIN_VERSION_array` (as it introduces some changes to the `Show` instance for `UArray`).
* Update array submoduleHerbert Valerio Riedel2019-02-121-0/+0
|
* Bump array submoduleBen Gamari2018-05-131-0/+0
|
* Bump base to version 4.12.0.0Ryan Scott2018-04-191-0/+0
| | | | | | | | | | | | | | | | Summary: Bumps several submodules. Test Plan: ./validate Reviewers: hvr, bgamari Reviewed By: bgamari Subscribers: thomie, carter GHC Trac Issues: #15018 Differential Revision: https://phabricator.haskell.org/D4609
* Bump array submoduleBen Gamari2018-03-191-0/+0
|
* Bump base to 4.11.0.0Ben Gamari2017-09-211-0/+0
| | | | | | | | | | Bumps numerous submodules. Reviewers: austin, hvr Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3974
* Bump array submodule to v0.5.2.0Ben Gamari2017-07-031-0/+0
|
* Bump array submoduleBen Gamari2017-05-011-0/+0
|
* array: Clear up inconsistency in T9220 outputBen Gamari2017-04-021-0/+0
| | | | | | | ghc-8.2 and master disagreed on the order of the instances. Normalise this difference away. Updates array submodule.
* Bump array submoduleBen Gamari2017-03-261-0/+0
| | | | Previous change fix 32-bit systems, but broke 64-bits
* Bump array submoduleBen Gamari2017-03-261-0/+0
|
* Fix TcSimplify.decideQuantification for kind variablesSimon Peyton Jones2017-03-101-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TcSimplify.decideQuantification was doing the Wrong Thing when "growing" the type variables to quantify over. We were trying to do this on a tyvar set where we'd split off the dependent type varaibles; and we just got it wrong. A kind variable wasn't being generalised properly, with confusing knock on consequences. All this led to Trac #13371 and Trac #13393. This commit tidies it all up: * The type TcDepVars is renamed as CandidateQTvs; and splitDepVarsOfType to candidateQTyVarsOfType * The code in TcSimplify.decideQuantification is simpler. It no longer does the tricky "grow" stuff over TcDepVars. Instead it use ordinary VarSets (thereby eliminating the nasty growThetaTyVarsDSet) and uses that to filter the result of candidateQTyVarsOfType. * I documented that candidateQTyVarsOfType returns the type variables in a good order in which to quantify, and rewrote it to use an accumulator pattern, so that we would predicatably get left-to-right ordering. In doing all this I also made UniqDFM behave a little more nicely: * When inserting an element that is there already, keep the old tag, while still overwriting with the new value. * This means that when doing udfmToList we get back elements in the order they were originally inserted, rather than in reverse order. It's not a big deal, but in a subsequent commit I use it to improve the order of type variables in inferred types. All this led to a lot of error message wibbles: - changing the order of quantified variables - changing the order in which instances are listed in GHCi - changing the tidying of variables in typechecker erors There's a submodule update for 'array' because one of its tests has an error-message change. I may not have associated all of them with the correct commit.
* Bump libraries/array submoduleBen Gamari2017-02-181-0/+0
|
* Bump array submoduleBen Gamari2017-02-091-0/+0
| | | | Previously test output was left in inconsistent state.
* Bump array submoduleBen Gamari2017-02-081-0/+0
| | | | Fixes https://github.com/ekmett/ad/issues/62.
* Bump array submoduleBen Gamari2016-12-271-0/+0
| | | | Fixes overflow check from fix to #229.
* array: Check for integer overflow during allocationBen Gamari2016-12-151-0/+0
| | | | | | | | | | | | This fixes #229, where creating a new array can cause array to allocate a smaller array than it thinks it allocates due to integer overflow, resulting in memory unsafety. This breaks the rts/overflow1 test, which relied on this unchecked overflow. I fix it by reimplementing the test in terms of newByteArray# directly. Updates the array submodule.
* base: Bump version to 4.10.0.0Ben Gamari2016-12-151-0/+0
| | | | Updates a number of submodules.
* Use UniqDFM for InstEnvBartosz Nitka2016-07-081-0/+0
| | | | | | | Rationale in the comment. Also updates submodule array with test output changes. GHC Trac: #4012
* Update array submodule to v0.5.1.1 release tagHerbert Valerio Riedel2016-04-171-0/+0
|
* Allow CallStacks to be frozenEric Seidel2015-12-231-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces "freezing," an operation which prevents further locations from being appended to a CallStack. Library authors may want to prevent CallStacks from exposing implementation details, as a matter of hygiene. For example, in ``` head [] = error "head: empty list" ghci> head [] *** Exception: head: empty list CallStack (from implicit params): error, called at ... ``` including the call-site of `error` in `head` is not strictly necessary as the error message already specifies clearly where the error came from. So we add a function `freezeCallStack` that wraps an existing CallStack, preventing further call-sites from being pushed onto it. In other words, ``` pushCallStack callSite (freezeCallStack callStack) = freezeCallStack callStack ``` Now we can define `head` to not produce a CallStack at all ``` head [] = let ?callStack = freezeCallStack emptyCallStack in error "head: empty list" ghci> head [] *** Exception: head: empty list CallStack (from implicit params): error, called at ... ``` --- 1. We add the `freezeCallStack` and `emptyCallStack` and update the definition of `CallStack` to support this functionality. 2. We add `errorWithoutStackTrace`, a variant of `error` that does not produce a stack trace, using this feature. I think this is a sensible wrapper function to provide in case users want it. 3. We replace uses of `error` in base with `errorWithoutStackTrace`. The rationale is that base does not export any functions that use CallStacks (except for `error` and `undefined`) so there's no way for the stack traces (from Implicit CallStacks) to include user-defined functions. They'll only contain the call to `error` itself. As base already has a good habit of providing useful error messages that name the triggering function, the stack trace really just adds noise to the error. (I don't have a strong opinion on whether we should include this third commit, but the change was very mechanical so I thought I'd include it anyway in case there's interest) 4. Updates tests in `array` and `stm` submodules Test Plan: ./validate, new test is T11049 Reviewers: simonpj, nomeata, goldfire, austin, hvr, bgamari Reviewed By: simonpj Subscribers: thomie Projects: #ghc Differential Revision: https://phabricator.haskell.org/D1628 GHC Trac Issues: #11049
* Narrow scope of special-case for unqualified printing of names in core librariesBen Gamari2015-12-151-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 547c597112954353cef7157cb0a389bc4f6303eb modifies the pretty-printer to render names from a set of core packages (`base`, `ghc-prim`, `template-haskell`) as unqualified. The idea here was that many of these names typically are not in scope but are well-known by the user and therefore qualification merely introduces noise. This, however, is a very large hammer and potentially breaks any consumer who relies on parsing GHC output (hence #11208). This commit partially reverts this change, now only printing `Constraint` (which appears quite often in errors) as unqualified. Fixes #11208. Updates tests in `array` submodule. Test Plan: validate Reviewers: hvr, thomie, austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1619 GHC Trac Issues: #11208
* Make 'error' include the CCS call stack when profiledSimon Marlow2015-11-131-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The idea here is that this gives a more detailed stack trace in two cases: 1. With `-prof` and `-fprof-auto` 2. In GHCi (see #11047) Example, with an error inserted in nofib/shootout/binary-trees: ``` $ ./Main 3 Main: z CallStack (from ImplicitParams): error, called at Main.hs:67:29 in main:Main CallStack (from -prof): Main.check' (Main.hs:(67,1)-(68,82)) Main.check (Main.hs:63:1-21) Main.stretch (Main.hs:32:35-57) Main.main.c (Main.hs:32:9-57) Main.main (Main.hs:(27,1)-(43,42)) Main.CAF (<entire-module>) ``` This doesn't quite obsolete +RTS -xc, which also attempts to display more information in the case when the error is in a CAF, but I'm exploring other solutions to that. Includes submodule updates. Test Plan: validate Reviewers: simonpj, ezyang, gridaphobe, bgamari, hvr, austin Reviewed By: bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1426
* Update array/stm/hpc/haddock submodulesHerbert Valerio Riedel2015-11-011-0/+0
| | | | | This is needed to prepare for #11026 as these updates relax the upper bounds on `base` to allow for `base-4.9.0.0`
* Use IP based CallStack in error and undefinedEric Seidel2015-09-021-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch modifies `error`, `undefined`, and `assertError` to use implicit call-stacks to provide better error messages to users. There are a few knock-on effects: - `GHC.Classes.IP` is now wired-in so it can be used in the wired-in types for `error` and `undefined`. - `TysPrim.tyVarList` has been replaced with a new function `TysPrim.mkTemplateTyVars`. `tyVarList` made it easy to introduce subtle bugs when you need tyvars of different kinds. The naive ``` tv1 = head $ tyVarList kind1 tv2 = head $ tyVarList kind2 ``` would result in `tv1` and `tv2` sharing a `Unique`, thus substitutions would be applied incorrectly, treating `tv1` and `tv2` as the same tyvar. `mkTemplateTyVars` avoids this pitfall by taking a list of kinds and producing a single tyvar of each kind. - The types `GHC.SrcLoc.SrcLoc` and `GHC.Stack.CallStack` now live in ghc-prim. - The type `GHC.Exception.ErrorCall` has a new constructor `ErrorCallWithLocation` that takes two `String`s instead of one, the 2nd one being arbitrary metadata about the error (but usually the call-stack). A bi-directional pattern synonym `ErrorCall` continues to provide the old API. Updates Cabal, array, and haddock submodules. Reviewers: nh2, goldfire, simonpj, hvr, rwbarton, austin, bgamari Reviewed By: simonpj Subscribers: rwbarton, rodlogic, goldfire, maoe, simonmar, carter, liyang, bgamari, thomie Differential Revision: https://phabricator.haskell.org/D861 GHC Trac Issues: #5273
* Testsuite: mark tests recently fixed as passing + accept new stderrThomas Miedema2015-07-301-0/+0
| | | | Update submodule array.
* Testsuite: mark array001 and conc034 expect_broken_for(#10659, ['optasm',...])Thomas Miedema2015-07-181-0/+0
| | | | Update submodule array.
* More error message wibblesSimon Peyton Jones2015-04-071-0/+0
| | | | | | ..due to suppressing base-package module names. Needs a submodule update on array.
* Update array submodule (min ver bump to 0.5.1.0)Herbert Valerio Riedel2015-03-101-0/+0
|
* Remove redundant constraints from libraries, discovered by ↵Simon Peyton Jones2015-01-061-0/+0
| | | | | | | | | | | | | | | | | -fwarn-redundant-constraints This patch affects libraries, and requires a submodule update. Some other libraries, maintained by others, have redundant constraints, namely: containers haskeline transformers binary I have suppressed the redundant-constraint warnings by settings in validate-settings.mk (in this commit)
* Fix #9220 by adding role annotations.Richard Eisenberg2014-11-201-0/+0
| | | | | This includes a submodule update for `array`. There is also an added test in libraries/array/tests/T9220.
* Update haskell2010, haskell98, and array submodulesHerbert Valerio Riedel2014-09-211-0/+0
| | | | | The changes are purely cleanups to improve forward compatibility to help with the Foldable/Traversal changes ahead.
* Set up framework for generalising Data.List to FoldablesHerbert Valerio Riedel2014-09-201-0/+0
| | | | | | | | | | | | | | | | | | | | | This renames the Data.List module to Data.OldList, and puts a new Data.List module into its place re-exporting all list functions. The plan is to leave the monomorphic versions of the list functions in Data.OldList to help smooth the transition. The new Data.List module then will simply re-export entities from Data.OldList and Data.Foldable. This refactoring has been placed in a separate commit to be able to better isolate any regressions caused by the actual list function generalisations when implementing #9586 This also updates the haskell2010, haskell98, and array submodules Reviewed By: austin, ekmett Differential Revision: https://phabricator.haskell.org/D228
* Bump `base` version to 4.8.0.0 for realHerbert Valerio Riedel2014-09-091-0/+0
| | | | | | | | | | | | | | | | This commit updates several submodules in order to bump the upper bounds on `base` of most boot packages Moreover, this updates some of the test-suite cases which have version numbers hardcoded within. However, I'm not sure if this commit didn't introduce the following two test-failures ghc-api T8628 [bad stdout] (normal) ghc-api T8639_api [bad stdout] (normal) This needs investigation
* Add testsuite-related .gitignore filesHerbert Valerio Riedel2014-06-271-0/+0
| | | | | | | | Also set `submodule.<name>.ignore=none` explicitly for the recently converted submodules, as those are not supposed to have untracked/unignored files lying around. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
* Convert loose sub-repos into proper submodules (re #8545)Herbert Valerio Riedel2014-06-251-0/+0
Specifically, the following sub-repos/modules are converted: - libffi-tarballs - libraries/array - libraries/deepseq - libraries/directory - libraries/dph - libraries/filepath - libraries/haskell2010 - libraries/haskell98 - libraries/hoopl - libraries/hpc - libraries/old-locale - libraries/old-time - libraries/parallel - libraries/process - libraries/stm - libraries/unix - nofib - utils/hsc2hs N.B. ghc-tarballs is not converted as it will probably be handled differently in the future. Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>