[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 28 commits: Remove duplicate Note [When to print foralls] in GHC.Core.TyCo.Ppr

Marge Bot gitlab at gitlab.haskell.org
Wed May 20 22:17:03 UTC 2020



 Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
5bcf8606 by Ryan Scott at 2020-05-17T08:46:38-04:00
Remove duplicate Note [When to print foralls] in GHC.Core.TyCo.Ppr

There are two different Notes named `[When to print foralls]`. The
most up-to-date one is in `GHC.Iface.Type`, but there is a second
one in `GHC.Core.TyCo.Ppr`. The latter is less up-to-date, as it was
written before GHC switched over to using ifaces to pretty-print
types. I decided to just remove the latter and replace it with a
reference to the former.

[ci skip]

- - - - -
8041b082 by Fumiaki Kinoshita at 2020-05-20T18:16:07-04:00
base: Add Generic instances to various datatypes under GHC.*

* GHC.Fingerprint.Types: Fingerprint
* GHC.RTS.Flags: GiveGCStats, GCFlags, ConcFlags, DebugFlags, CCFlags, DoHeapProfile, ProfFlags, DoTrace, TraceFlags, TickyFlags, ParFlags and RTSFlags
* GHC.Stats: RTSStats and GCStats
* GHC.ByteOrder: ByteOrder
* GHC.Unicode: GeneralCategory
* GHC.Stack.Types: SrcLoc

Metric Increase:
    haddock.base

- - - - -
b430e095 by Gert-Jan Bottu at 2020-05-20T18:16:10-04:00
Explicit Specificity

Implementation for Ticket #16393.
Explicit specificity allows users to manually create inferred type variables,
by marking them with braces.
This way, the user determines which variables can be instantiated through
visible type application.

The additional syntax is included in the parser, allowing users to write
braces in type variable binders (type signatures, data constructors etc).
This information is passed along through the renamer and verified in the
type checker.
The AST for type variable binders, data constructors, pattern synonyms,
partial signatures and Template Haskell has been updated to include the
specificity of type variables.

Minor notes:
- Bumps haddock submodule
- Disables pattern match checking in GHC.Iface.Type with GHC 8.8

- - - - -
9e94937b by Ben Gamari at 2020-05-20T18:16:11-04:00
nonmoving: Optimise the write barrier

- - - - -
5684eae3 by Gleb Popov at 2020-05-20T18:16:15-04:00
gitlab-ci: Set locale to C.UTF-8.

- - - - -
30f2a2b1 by Stefan Holdermans at 2020-05-20T18:16:18-04:00
Allow spaces in GHCi :script file names

This patch updates the user interface of GHCi so that file names passed
to the ':script' command may contain spaces escaped with a backslash.

For example:

  :script foo\ bar.script

The implementation uses a modified version of 'words' that does not
break on escaped spaces.

Fixes #18027.

- - - - -
013f4c88 by Stefan Holdermans at 2020-05-20T18:16:18-04:00
Add extra tests for GHCi :script syntax checks

The syntax for GHCi's ":script" command allows for only a single file
name to be passed as an argument. This patch adds a test for the cases
in which a file name is missing or multiple file names are passed.

Related to #T18027.

- - - - -
6217dc8f by Stefan Holdermans at 2020-05-20T18:16:18-04:00
Allow GHCi :script file names in double quotes

This patch updates the user interface of GHCi so that file names passed
to the ':script' command can be wrapped in double quotes.

For example:

  :script "foo bar.script"

The implementation uses a modified version of 'words' that treats
character sequences enclosed in double quotes as single words.

Fixes #18027.

- - - - -
6512ffe2 by Stefan Holdermans at 2020-05-20T18:16:18-04:00
Update documentation for GHCi :script

This patch adds the fixes that allow for file names containing spaces to
be passed to GHCi's ':script' command to the release notes for 8.12 and
expands the user-guide documentation for ':script' by mentioning how
such file names can be passed.

Related to #18027.

- - - - -
222d36a4 by Tuan Le at 2020-05-20T18:16:21-04:00
llvmGen: Consider Relocatable read-only data as not constantReferences: #18137

- - - - -
b89b6040 by John Ericson at 2020-05-20T18:16:27-04:00
Use `Checker` for `tc_pat`

- - - - -
805341f0 by John Ericson at 2020-05-20T18:16:27-04:00
Use `Checker` for `tc_lpat` and `tc_lpats`

- - - - -
9c5a8e66 by John Ericson at 2020-05-20T18:16:27-04:00
More judiciously panic in `ts_pat`

- - - - -
954ae448 by John Ericson at 2020-05-20T18:16:27-04:00
Put `PatEnv` first in `GHC.Tc.Gen.Pat.Checker`

- - - - -
6f743f52 by John Ericson at 2020-05-20T18:16:27-04:00
Tiny cleaup eta-reduce away a function argument

In GHC, not in the code being compiled!

- - - - -
eb582362 by John Ericson at 2020-05-20T18:16:27-04:00
Use braces with do in `SplicePat` case for consistency

- - - - -
6740c700 by buggymcbugfix at 2020-05-20T18:16:28-04:00
Fix spelling mistakes and typos

- - - - -
4dd2934f by buggymcbugfix at 2020-05-20T18:16:28-04:00
Add INLINABLE pragmas to Enum list producers

The INLINABLE pragmas ensure that we export stable (unoptimised) unfoldings in
the interface file so we can do list fusion at usage sites.

Related tickets: #15185, #8763, #18178.

- - - - -
b180ecff by buggymcbugfix at 2020-05-20T18:16:28-04:00
Piggyback on Enum Word methods for Word64

If we are on a 64 bit platform, we can use the efficient Enum Word
methods for the Enum Word64 instance.

- - - - -
c788d2c2 by buggymcbugfix at 2020-05-20T18:16:28-04:00
Document INLINE(ABLE) pragmas that enable fusion

- - - - -
e268bcbd by Richard Eisenberg at 2020-05-20T18:16:28-04:00
MR template should ask for key part
- - - - -
baaad2e7 by Sebastian Graf at 2020-05-20T18:16:29-04:00
Make `Int`'s `mod` and `rem` strict in their first arguments

They used to be strict until 4d2ac2d (9 years ago).

It's obviously better to be strict for performance reasons.
It also blocks #18067.

NoFib results:

```
--------------------------------------------------------------------------------
        Program         Allocs    Instrs
--------------------------------------------------------------------------------
        integer          -1.1%     +0.4%
   wheel-sieve2         +21.2%    +20.7%
--------------------------------------------------------------------------------
            Min          -1.1%     -0.0%
            Max         +21.2%    +20.7%
 Geometric Mean          +0.2%     +0.2%
```

The regression in `wheel-sieve2` is due to reboxing that likely will go
away with the resolution of #18067. See !3282 for details.

Fixes #18187.

- - - - -
ec6adc53 by Galen Huntington at 2020-05-20T18:16:37-04:00
Clarify pitfalls of NegativeLiterals; see #18022.
- - - - -
28ffe9cc by Alexey Kuleshevich at 2020-05-20T18:16:40-04:00
Fix wording in primops documentation to reflect the correct reasoning:

* Besides resizing functions, shrinking ones also mutate the
  size of a mutable array and because of those two `sizeofMutabeByteArray`
  and `sizeofSmallMutableArray` are now deprecated
* Change reference in documentation to the newer functions `getSizeof*`
  instead of `sizeof*` for shrinking functions
* Fix incorrect mention of "byte" instead of "small"

- - - - -
0ea4485d by Andreas Klebinger at 2020-05-20T18:16:41-04:00
Don't variable-length encode magic iface constant.

We changed to use variable length encodings for many types by default,
including Word32. This makes sense for numbers but not when Word32 is
meant to represent four bytes.

I added a FixedLengthEncoding newtype to Binary who's instances
interpret their argument as a collection of bytes instead of a number.

We then use this when writing/reading magic numbers to the iface file.

I also took the libery to remove the dummy iface field.

This fixes #18180.

- - - - -
39529e70 by Krzysztof Gogolewski at 2020-05-20T18:16:41-04:00
Add a regression test for #11506

The testcase works now.
See explanation in https://gitlab.haskell.org/ghc/ghc/issues/11506#note_273202

- - - - -
dd94af15 by Krzysztof Gogolewski at 2020-05-20T18:16:53-04:00
Sort deterministically metric output

Previously, we sorted according to the test name and way,
but the metrics (max_bytes_used/peak_megabytes_allocated etc.)
were appearing in nondeterministic order.

- - - - -
e90b54c1 by Sylvain Henry at 2020-05-20T18:16:56-04:00
Move isDynLinkName into GHC.Types.Name

It doesn't belong into GHC.Unit.State

- - - - -


30 changed files:

- .gitlab-ci.yml
- .gitlab/ci.sh
- .gitlab/merge_request_templates/merge-request.md
- compiler/GHC/Builtin/Names/TH.hs
- compiler/GHC/Builtin/Types.hs
- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/Cmm.hs
- compiler/GHC/Cmm/CLabel.hs
- compiler/GHC/CmmToC.hs
- compiler/GHC/CmmToLlvm/Data.hs
- compiler/GHC/Core/Coercion.hs
- compiler/GHC/Core/ConLike.hs
- compiler/GHC/Core/DataCon.hs
- compiler/GHC/Core/DataCon.hs-boot
- compiler/GHC/Core/Opt/Simplify/Utils.hs
- compiler/GHC/Core/PatSyn.hs
- compiler/GHC/Core/TyCo/Ppr.hs
- compiler/GHC/Core/TyCo/Rep.hs
- compiler/GHC/Core/TyCon.hs
- compiler/GHC/Core/Type.hs
- compiler/GHC/CoreToIface.hs
- compiler/GHC/CoreToIface.hs-boot
- compiler/GHC/Hs/Decls.hs
- compiler/GHC/Hs/Instances.hs
- compiler/GHC/Hs/Types.hs
- compiler/GHC/Hs/Utils.hs
- compiler/GHC/HsToCore/Foreign/Call.hs
- compiler/GHC/HsToCore/Quote.hs
- compiler/GHC/Iface/Binary.hs
- compiler/GHC/Iface/Ext/Ast.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/480e69ca83f73b299a8cb2e42d7e0e9f15b9806d...e90b54c1bf248617b4f20b460dc21c5da9c5a34a

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/480e69ca83f73b299a8cb2e42d7e0e9f15b9806d...e90b54c1bf248617b4f20b460dc21c5da9c5a34a
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20200520/d0bd1ab3/attachment-0001.html>


More information about the ghc-commits mailing list