- 10 Jan, 2021 10 commits
-
-
Ben Gamari authored
This check is merely a service to the user; no reason to synchronize.
-
Douglas Wilson authored
-
Douglas Wilson authored
Solves #19147. When n_capabilities > 1 we were not correctly accounting for gc time for sequential collections. In this case par_n_gcthreads == 1, however it is not guaranteed that the single gc thread is capability 0. A similar issue for copied is addressed as well.
-
vdukhovni authored
- Further correction and reconcialation with new overview of the existing synopses. Restored some "Tree" examples. - New section on generative recursion via Church encoding of lists.
-
vdukhovni authored
- Renamed new "update function" to "operator" from synopses - More accurate divergence conditions. - Fewer references to the Tree structure in examples, which may not have the definition close-by in context in other modules, e.g. Prelude. - Improved description of foldlM and foldrM - More detail on Tree instance construction - Misc fixes
-
vdukhovni authored
-
vdukhovni authored
Also updated stale external URL in Traversable
-
Richard Eisenberg authored
See Note [Error on unconstrained meta-variables] in TcMType. Close #17301 Close #17567 Close #17562 Close #15474
-
Ben Gamari authored
ghcconfig.h, which depends upon ghcautoconf.h, and is a runtime dependency of deriveConstants. This is essentially a continuation of #18290.
-
Alfredo Di Napoli authored
This commit removes the errShortString field from the ErrMsg type, allowing us to cleanup a lot of dynflag-dependent error functions, and move them in a more specialised 'GHC.Driver.Errors' closer to the driver, where they are actually used. Metric Increase: T4801 T9961
-
- 07 Jan, 2021 14 commits
-
-
Sylvain Henry authored
-
Ben Gamari authored
* Mention changed in profiler's treatment of PINNED closures * Fix formatting * Move plugins-relevant changes to GHC API section
-
Ben Gamari authored
The weak pointer check in `checkGenWeakPtrList` previously failed to account for dead weak pointers. This caused `fptr01` to fail in the `sanity` way. Fixes #19162.
-
Ben Gamari authored
-
Ben Gamari authored
-
Ben Gamari authored
The refactoring in ed57c3a9 failed to initialize this field, resulting in no exports being registered. A very silly bug and yet somehow none of our tests caught it. See #18548. Fixes #19149.
-
Roland Senn authored
For interactive evaluations set the field `DynFlags.dumpPrefix` to the GHCi internal module name. The GHCi module name for an interactive evaluation is something like `Ghci9`. To avoid user confusion, don't dump any data for GHCi internal evaluations. Extend the comment for `DynFlags.dumpPrefix` and fix a little typo in a comment about the GHCi internal module names.
-
John Ericson authored
Progress towards #19026. The type was added before, but not its primops. We follow the conventions in 36fcf9ed and 2c959a18 for names and testing. Along with the previous 8- and 16-bit primops, this will allow us to avoid many conversions for 8-, 16-, and 32-bit sized numeric types. Co-authored-by:
Sylvain Henry <hsyl20@gmail.com>
-
Ben Gamari authored
This flag requires that there be no space between the filename and the argument.
-
Ben Gamari authored
As noted in #9666, the mark-region GC is not compatible with heap profiling. Also add documentation for this flag. Closes #9666.
-
Ben Gamari authored
But only when profiling or DEBUG are enabled. Fixes #17572.
-
Ben Gamari authored
This is necessary since the user may enable `+RTS -hT` at any time.
-
Ben Gamari authored
It turns out that this was fairly straightforward to implement since we are now pretty careful about zeroing slop.
-
Ben Gamari authored
Move the logic for taking censuses of "normal" and pinned blocks to their own functions.
-
- 05 Jan, 2021 1 commit
-
-
Sylvain Henry authored
Before this patch the compiler depended on the RTS way (threaded or not) to use atomic incrementation or not. This is wrong because the RTS is supposed to be switchable at link time, without recompilation. Now we always use atomic incrementation of the unique counter.
-
- 03 Jan, 2021 3 commits
-
-
John Ericson authored
I'm not sure how long the submodule dance is going to take, sadly, so I'd like to chip away at things in the meantime / avoid conflicts.
-
vdukhovni authored
The fix for 18919 was somewhat incomplete: while the MVars were correctly added to the mut_list via dirty_MVAR(), their info table remained "clean". While this is mostly harmless in non-debug builds, but trips an assertion in the debug build, and may result in the MVar being needlessly being added to the mut_list multiple times. Resolves: #19145
-
Hécate Moonlight authored
-
- 02 Jan, 2021 12 commits
-
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
This patch fixes #19133 by using LitRubbish for strict constructor fields, even if they are of lifted types. Previously LitRubbish worked only for unlifted (but boxed) types. The change is very easy, although I needed a boolean field in LitRubbish to say whether or not it is lifted. (That seemed easier than giving it another type argument. This is preparing for Andreas's work on establishing the invariant that strict constructor fields are always tagged and evaluated (see #16970). Meanwhile, nothing was actually wrong before, so there are no tests.
-
Asad Saeeduddin authored
Fixes #19124
-
Oleg Grenrus authored
It's simpler to assume that base is NoImplicitPrelude, otherwise running doctest on `GHC.*` modules would be tricky. OTOH, most `GHC.List` (where the most name clashes are) examples could be changed to use `import qualified Data.List as L`. (GHC.List examples won't show for Foldable methods...). With these changes majority of doctest examples are GHCi-"faithful", my WIP GHC-independent doctest runner reports nice summary: Examples: 582; Tried: 546; Skipped: 34; Success: 515; Errors: 33; Property Failures 2 Most error cases are *Hangs forever*. I have yet to figure out how to demonstrate that in GHCi. Some of divergences are actually stack overflows, i.e. caught by runtime. Few errorful cases are examples of infinite output, e.g. >>> cycle [42] [42,42,42,42,42,42,42,42,42,42... while correct, they confuse doctest. Another erroneous cases are where expected output has line comment, like >>> fmap show (Just 1) -- (a -> b) -> f a -> f b Just "1" -- (Int -> String) -> Maybe Int -> Maybe String I think I just have to teach doctest to strip comments from expected output. This is a first patch in a series. There is plenty of stuff already.
-
Hécate Moonlight authored
-
Hécate Moonlight authored
-
Douglas Wilson authored
-
Joachim Breitner authored
it is unclear why it is there, and it is _also_ linked from `exts/types.rst`.
-
Simon Peyton Jones authored
This patch establishes invariant (GivenInv) from GHC.Tc.Utils.TcType Note [TcLevel invariants]. (GivenInv) says that unification variables from level 'n' should not appear in the Givens for level 'n'. See Note [GivenInv] in teh same module. This invariant was already very nearly true, but a dark corner of partial type signatures made it false. The patch re-jigs partial type signatures a bit to avoid the problem, and documents the invariant much more thorughly Fixes #18646 along the way: see Note [Extra-constraints wildcards] in GHC.Tc.Gen.Bind I also simplified the interface to tcSimplifyInfer slightly, so that it /emits/ the residual constraint, rather than /returning/ it.
-
Ben Gamari authored
In general we are less careful about locking closures when running with only a single capability. Fixes #19075.
-
Artem Pelenitsyn authored
-
Sylvain Henry authored
(Progress towards #11953, #17377, #17375) Besides being nicer to use, this also will allow for better constant folding for the fixed-width types, on par with what `Int#` and `Word#` have today.
-