- Feb 04, 2019
-
-
Ryan Scott authored
We now have a top-level `tyConAppNeedsKindSig` function, which means that we can delete lots of code in `Convert`.
-
The central trick in this patch is to use `dataConUserTyVars` instead of `univ_tvs ++ ex_tvs`, which displays the foralls in a GADT constructor in a way that's more faithful to how the user originally wrote it. Fixes #1015.
-
Alec Theriault authored
Now that Haddock is moving towards working entirely over `.hi` and `.hie` files, all declarations and types are going to be synthesized via the `Convert` module. In preparation for this change, here are a bunch of fixes to this module: * Add kind annotations to type variables in `forall`'s whose kind is not `Type`, unless the kind can be inferred from some later use of the variable. See `implicitForAll` and `noKindTyVars` in particular if you wish to dive into this. * Properly detect `HsQualTy` in `synifyType`. This is done by following suit with what GHC's `toIfaceTypeX` does and checking the first argument of `FunTy{} :: Type` to see if it classified as a given/wanted in the typechecker (see `isPredTy`). * Beef up the logic around figuring out when an explicit `forall` is needed. This includes: observing if any of the type variables will need kind signatures, if the inferred type variable order _without_ a forall will still match the one GHC claims, and some other small things. * Add some (not yet used) functionality for default levity polymorphic type signatures. This functionality similar to `fprint-explicit-runtime-reps`. Couple other smaller fixes only worth mentioning: * Show the family result signature only when it isn't `Type` * Fix rendering of implicit parameters in the LaTeX and Hoogle backends * Better handling of the return kind of polykinded H98 data declarations * Class decls produced by `tyThingToLHsDecl` now contain associated type defaults and default method signatures when appropriate * Filter out more `forall`'s in pattern synonyms
-
- Feb 03, 2019
-
-
Alec Theriault authored
The circumstances under which this module appeared are completely gone. The Hyperlinker backend no longer needs this module (it uses the more efficient `Encoding` module from `ghc`). Why no deprecation? Because this module really shouldn't exist! - It isn't used in `haddock-library`/`haddock-api` anymore - It was copy pasted directly from `utf8-string` - Folks seeking a boot-lib only solution can use `ghc`'s `Encoding`
-
Alec Theriault authored
* Amend `ParserSpec` to match new Hyperlinker API - pass in compiler info - strip out null tokens * Make `hypsrc-test` pass reliably - strip out `local-*` ids - strip out `line-*` ids from the `ClangCppBug` test - re-accept output
-
Alec Theriault authored
Should help make CI be less broken
-
- Feb 02, 2019
-
-
Herbert Valerio Riedel authored
-
Herbert Valerio Riedel authored
-
- Jan 31, 2019
-
-
Alec Theriault authored
# Summary This is a large architectural change to the Hyperlinker. * extract link (and now also type) information from `.hie` instead of doing ad-hoc SYB traversals of the `RenamedSource`. Also adds a superb type-on-hover feature (#715). * re-engineer the lexer to avoid needless string conversions. By going directly through GHC's `P` monad and taking bytestring slices, we avoid a ton of allocation and have better handling of position pragmas and CPP. In terms of performance, the Haddock side of things has gotten _much_ more efficient. Unfortunately, much of this is cancelled out by the increased GHC workload for generating `.hie` files. For the full set of boot libs (including `ghc`-the-library) * the sum of total time went down by 9-10% overall * the sum of total allocations went down by 6-7% # Motivation Haddock is moving towards working entirely over `.hi` and `.hie` files. This change means we no longer need the `RenamedSource` from `TypecheckedModule` (something which is _not_ in `.hi` files). # Details Along the way a bunch of things were fixed: * Cross package (and other) links are now more reliable (#496) * The lexer tries to recover from errors on every line (instead of at CPP boundaries) * `LINE`/`COLUMN` pragmas are taken into account * filter out zero length tokens before rendering * avoid recomputing the `ModuleName`-based `SrcMap` * remove the last use of `Documentation.Haddock.Utf8` (see #998) * restructure temporary folder logic for `.hi`/`.hie` model
-
- Jan 22, 2019
-
-
Gabor Greif authored
-
- Jan 11, 2019
-
-
Alec Theriault authored
Since 53874834 in GHC, "GHC.Maybe" is marked as `not-home`. That changes around some test output.
-
- Dec 31, 2018
-
-
My Nguyen authored
-
- Dec 27, 2018
-
-
Alec Theriault authored
Fixes #885.
-
Alec Theriault authored
The functionality is easily inlined into one short function: `gmapEverywhere`. This doesn't warrant pulling in another package.
-
- Dec 23, 2018
-
-
Alec Theriault authored
* Synify and render properly promoted type variables Fixes #923. * Accept output
-
- Dec 17, 2018
-
-
Alec Theriault authored
This commit should not introduce any change in functionality! * consistently use `getOccString` to convert `Name`s to strings * compare names directly when possible (instead of comparing strings) * get rid of unused utility functions
-
- Dec 14, 2018
-
-
This will make investigation of #979 easier
-
- Dec 12, 2018
-
-
Alec Theriault authored
* remove redundant imports (only brought to light due to recent work for improving redundant import detection) * fix a bug that was casuing exports to appear in reverse order * fix something in haddock-library that prevented compilation on old GHC's
-
- Nov 23, 2018
-
-
Shayan-Najd authored
Trac Issues #15495 This patch removes the ping-pong style from HsPat (only, for now), using the plan laid out at https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow/HandlingSourceLocations (solution A). - the class `HasSrcSpan`, and its functions (e.g., `cL` and `dL`), are introduced - some instances of `HasSrcSpan` are introduced - some constructors `L` are replaced with `cL` - some patterns `L` are replaced with `dL->L` view pattern - some type annotation are necessarily updated (e.g., `Pat p` --> `Pat (GhcPass p)`)
-
- Nov 15, 2018
-
-
Alec Theriault authored
Follow GHC HEAD's HsTypes.Promoted -> BasicTypes.PromotionFlag change
-
Alp Mestanogullari authored
It got introduced in ghc/ghc@ae2c9b40.
-
- Nov 12, 2018
-
-
Summary: For links in subpackages as well. https://phabricator.haskell.org/D5257 Test Plan: Manually verify links Reviewers: mpickering, bgamari, osa1 Reviewed By: osa1 GHC Trac Issues: #15733 Differential Revision: https://phabricator.haskell.org/D5262
-
- Nov 11, 2018
-
-
Alec Theriault authored
-
- Nov 10, 2018
-
-
Alec Theriault authored
Introduce NewOcean theme.
-
Alec Theriault authored
-
Alec Theriault authored
-
- Nov 09, 2018
-
-
Alec Theriault authored
-
Alec Theriault authored
Also, functions and data decls now have the same space before and after them.
-
Alec Theriault authored
-
- Nov 08, 2018
-
-
Alec Theriault authored
-
- Nov 07, 2018
-
-
Alec Theriault authored
-
Alec Theriault authored
In the unfortunate event that the "Contents" summary doesn't fit vertically (like in the "Prelude"), it will be scrollable.
-
Alec Theriault authored
* swap the minimize unicode to something more intuitive * use new unicode expander/collapser for instance lists * address some alignment issues in the "index" page
-
- Nov 06, 2018
-
-
Alec Theriault authored
Inline markup in markdown-style links and images
-
Alec Theriault authored
-
Alec Theriault authored
-
Alec Theriault authored
-
Alec Theriault authored
Inline markup is supported in image links but, as per the [commonmark recommendation][0], it is stripped back to a plain text representation. [0]: https://spec.commonmark.org/0.28/#example-547
-
Alec Theriault authored
The parser for pictures hasn't been properly adjusted yet.
-
- Nov 05, 2018
-
-
Alec Theriault authored
Perf only change: * use 'getParserState'/'setParserState' to make 'Text'-optimized parser combinators * minimize uses of 'Data.Text.{pack,unpack,cons,snoc}'
-