| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
candidateQTyVars was failing to return fully-zonked
tyvars, and that made things fall over chaotically
when we try to sort them into a well-scoped telescope.
Result: Trac #15795
So I made candidateQTvs guarantee to have fully-zonked
tyvars (i.e. with zonked kinds). That's a bit annoying
but not really difficult.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The validity check which rejected things like:
```lang=haskell
type family B x where
A x = x
```
Used to live in the typechecker. But it turns out that this validity
check was //only// being run on closed type families without CUSKs!
This meant that GHC would silently accept something like this:
```lang=haskell
type family B (x :: *) :: * where
A x = x
```
This patch fixes the issue by moving this validity check to the
renamer, where we can be sure that the check will //always// be run.
Test Plan: make test TEST=T16002
Reviewers: simonpj, bgamari
Reviewed By: simonpj
Subscribers: goldfire, rwbarton, carter
GHC Trac Issues: #16002
Differential Revision: https://phabricator.haskell.org/D5420
|
|
|
|
|
|
|
|
| |
When we pretty-print types, we suppress RuntimeRep variables, but
we were being too aggressive in doing so, resulting in Trac #16074.
This patch makes the suppression a bit less aggressive.
See Note [Defaulting RuntimeRep variables]
|
|
|
|
|
|
|
| |
This call plain missing, and as a result the casts
messed up deep-skolemisation in tcSubType
Fixes Trac #16033
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
GHCi's `:info` command was pretty-printined GADT
constructors suboptimally in the following ways:
1. Sometimes, fields were parenthesized when they did not need it,
e.g.,
```lang=haskell
data Foo a where
MkFoo :: (Maybe a) -> Foo a
```
I fixed this by refactoring some code in `pprIfaceConDecl` to be a
little smarter with respect to GADT syntax. See `pprFieldArgTy`
and `pprArgTy`.
2. With `-fprint-explicit-kinds` enabled, there would be times when
specified arguments would be printed without a leading `@` in GADT
return types, e.g.,
```lang=haskell
data Bar @k (a :: k) where
MkBar :: Bar k a
```
It turns out that `ppr_tc_app`, the function which pretty-prints
these return types, was not using the proper machinery to print
out the arguments, which caused the visibilities to be forgotten
entirely. I refactored `ppr_tc_app` to do this correctly.
Test Plan: make test TEST=T16030
Reviewers: goldfire, bgamari, simonpj
Reviewed By: simonpj
Subscribers: simonpj, rwbarton, carter
GHC Trac Issues: #16030
Differential Revision: https://phabricator.haskell.org/D5440
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
See #8959, this is one more place where we
can pretty-print Unicode syntax.
Test Plan: validate
Reviewers: nomeata, bgamari
Reviewed By: bgamari
Subscribers: rwbarton, carter
GHC Trac Issues: #8959
Differential Revision: https://phabricator.haskell.org/D5439
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Rank2Types is deprecated. Don't suggest to users to use it.
Reviewers: bgamari, RyanGlScott, simonpj
Reviewed By: RyanGlScott, simonpj
Subscribers: RyanGlScott, rwbarton, carter
GHC Trac Issues: #16000
Differential Revision: https://phabricator.haskell.org/D5447
|
|
|
|
|
|
|
|
|
|
|
| |
Currently we are having quite some trouble keeping up with our build volume due
to the number of configurations we have. I've split the pipeline into two
halves:
* build, which builds just vanilla deb9-linux with make and hadrian
* full-build, which builds everything else
This will trade-off some latency to more efficient use of our builders.
|
|
|
|
| |
Setting LANG causes trouble on Debian.
|
| |
|
| |
|
| |
|
|
|
|
| |
Our CircleCI builds will fail anyways without large instances.
|
|
|
|
| |
For some reason curl isn't found on the new builder.
|
|
|
|
| |
Might as well make sure it works before we retire it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Namely for:
- stripPrefix
- isPrefixOf
- intersperse
- tails
- map
- scanl
- scanl1
- scanl'
- scanr
- scanr1
- zip
- zipWith
Add examples to `zipWith` and `map`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit introduces Hadrian docs specifically
targeted at GHC devs who are used to building GHC with the make
build system, adapting a good chunk of the following quickstart
page we wrote over the last few months:
https://ghc.haskell.org/trac/ghc/wiki/Building/Hadrian/QuickStart
Reviewers: snowleopard, bgamari
Reviewed By: snowleopard
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5446
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix a bug from cb882fc993b4972f7f212b291229ef9e9ade0af9. Without the
comma, all non-diverging codepaths set 'UseLibdw=NO'.
Reviewers: bgamari, nh2
Reviewed By: nh2
Subscribers: rwbarton, erikd, carter
GHC Trac Issues: #15968
Differential Revision: https://phabricator.haskell.org/D5459
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: RyanGlScott, ekmett, hvr, bgamari
Reviewed By: bgamari
Subscribers: rwbarton, carter
GHC Trac Issues: #15995
Differential Revision: https://phabricator.haskell.org/D5456
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`ghci -fno-implicit-import-qualified` didn't start with error message:
```
GHCi, version 8.6.2: http://www.haskell.org/ghc/ :? for help
<interactive>:1:6: error:
Not in scope: ‘System.IO.hSetBuffering’
No module named ‘System.IO’ is imported.
...
```
This change fixes it and update test T2452 to cover this.
Test Plan:
TEST=T2452 make accept
harbormaster build runs
Reviewers: simonmar, bgamari, RyanGlScott
Reviewed By: simonmar
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5452
|
| |
|
|
|
|
|
|
| |
As discussed on ghc-devops, CircleCI is changing their billing policy to require
users of instances larger than `medium` to use a paid account. Consequently
these instances will no longer be available to us starting tomorrow.
|
| |
|
| |
|
| |
|
|
|
|
| |
See #15207.
|
| |
|
| |
|
| |
|
|
|
|
| |
The lint checks currently fail due to #15950.
|
|
|
|
| |
These run slowtest and their artifacts are preserved for two years.
|
|
|
|
| |
Namely after 2 weeks
|
|
|
|
| |
Also use 'id'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We used to enqueue another command to change directory in the external
interpreter subprocess, this is not as robust as:
* it can fail with -fno-implict-import-qualified;
* it doesn't work when we `setGHCiMonad` to something other than `IO`.
Neither of them works if `directory` package is hidden though.
Test Plan:
```
$ inplace/bin/ghc-stage2 --interactive # -fexternal-interpreter
GHCi, version 8.7.20181213: http://www.haskell.org/ghc/ :? for help
Prelude> :cd ..
Prelude> System.Directory.getCurrentDirectory
"/data/users/watashi"
Prelude> :!pwd
/data/users/watashi
Prelude>
Leaving GHCi.
```
./validate
Reviewers: simonmar, bgamari, RyanGlScott
Reviewed By: simonmar
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5453
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces the `userDefaultFlavour` user setting. It should
be the name of the default flavour to use when no --flavour argument is
passed. Before this patch, we would just always default to... the
`default` flavour. With this patch, we default to whatever Flavour whose
name is `userDefaultFlavour`, therefore providing a way for users to
"persist" their choice of flavour, not having to repeat --flavour=[...]
in every hadrian command.
Test Plan:
Set `userDefaultFlavour = "quickest"`, run `hadrian/build.sh`, check
that the quickest flavour is indeed picked.
Reviewers: snowleopard, bgamari
Reviewed By: snowleopard
Subscribers: mpickering, rwbarton, carter
GHC Trac Issues: #15890
Differential Revision: https://phabricator.haskell.org/D5454
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
We do this for vanilla way already.
Let's also merge sections for profiling way and use it instead of the .a
library when it exists.
Test Plan:
```
$ inplace/bin/ghc-stage2 --interactive -prof -fexternal-interpreter
GHCi, version 8.7.20180921: http://www.haskell.org/ghc/ :? for help
Prelude> pid <- System.Posix.Process.getProcessID
Prelude> maps <- readFile $ "/proc/" ++ show pid ++ "/maps"
Prelude> pid
3807346
Prelude> putStrLn $ unlines $ take 20 $ lines maps
00400000-02103000 r-xp 00000000 00:1a 199277344
/data/users/watashi/ghc/inplace/lib/bin/ghc-iserv-prof
02104000-02106000 r--p 01d03000 00:1a 199277344
/data/users/watashi/ghc/inplace/lib/bin/ghc-iserv-prof
02106000-02417000 rw-p 01d05000 00:1a 199277344
/data/users/watashi/ghc/inplace/lib/bin/ghc-iserv-prof
02417000-0280a000 rw-p 00000000 00:00 0
[heap]
40098000-400b0000 rwxp 000d2000 00:1a 199276023
/data/users/watashi/ghc/libraries/bytestring/dist-install/build/HSbytestring-0.10.8.2.p_o
400b7000-400d8000 rwxp 00000000 00:00 0
401d1000-401d2000 rwxp 000e9000 00:1a 199276023
/data/users/watashi/ghc/libraries/bytestring/dist-install/build/HSbytestring-0.10.8.2.p_o
40415000-40419000 rwxp 0000b000 00:1a 199275165
/data/users/watashi/ghc/libraries/deepseq/dist-install/build/HSdeepseq-1.4.4.0.p_o
404f8000-40526000 rwxp 000af000 00:1a 199274234
/data/users/watashi/ghc/libraries/ghc-prim/dist-install/build/HSghc-prim-0.5.3.p_o
```
Reviewers: simonmar, bgamari, austin, hvr
Reviewed By: simonmar
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5169
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I consider myself lucky that in my circle of friends, `http` urls (as
opposed to `https` urls) are frowned upon in that we generally
apologize in the rase cases that we share an `http` url.
This pull request changes `http` links into their `https` analogues in
the following places:
* In the GHCI startup message (and parts of the User's Guide, where
there are verbatim transcripts of GHCi sessions).
* In a couple of error messages, asking the user to report a bug.
(I also took the liberty to change a single space before the reportabug
url into two spaces, harmonizing this occurence with the others.)
I'm not trying to start a war. I just had a moment to spare and felt
like preparing this diff. Merge or don't merge as you wish!
Reviewers: bgamari, erikd, simonmar
Subscribers: goldfire, rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5450
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add default value
- Update the help line as multiple short lines instead of one long line,
for consistency with other lines.
Reviewers: simonmar, bgamari, erikd
Reviewed By: bgamari
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5445
|
| |
|
|
|
|
|
| |
These are taken from our previous arcanist linters as well as the
gitolite hooks but with some heavy refactoring.
|
|
|
|
|
|
|
| |
396aac4c65a47b6252e0a73d2a3066e924d53f11 added the
amd64-portbld-freebsd triple but #15718 suggests that we should rather
be using x86_64-unknown-freebsd. Not knowing which is correct I've left
the amd64-portbld- triplet in place.
|
| |
|
| |
|
| |
|