| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
As landed via https://gitlab.haskell.org/ghc/ghc/-/merge_requests/2418
|
|
|
|
|
|
| |
This prevents noLoc's appearing in the ParsedSource.
Match the change in GHC.
|
|\ |
|
| |\ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
I found that when running as a plugin the lookupName function (which
runs in Ghc monad) does not work correctly from the
typeCheckResultAction hook.
Instead, we abstracted the monad used when creating interfaces, so
that access to GHC session specific parts is explicit and so that the
TcM can provide their (correct) implementation of lookupName.
|
| |\ \
| | |/
| |/| |
|
| | |
| | |
| | |
| | | |
Needed for !4417, the fix for GHC#15706 and GHC#18914.
|
| | |
| | |
| | |
| | | |
Previously we were ignoring multiplicity and displayed
a %1 -> b as a -> b.
|
| |\ \
| | | |
| | | | |
Update for changes in GHC's Pretty
|
| | | | |
|
| |/ / |
|
| | |
| | |
| | |
| | |
| | | |
These changes accompany ghc/ghc!4107, which aims to be a fix
for #16762.
|
| | |
| | |
| | |
| | | |
Needed for GHC#18844.
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Backport #1238 (linear types) to ghc-9.0
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
Previously we were ignoring multiplicity and displayed
a %1 -> b as a -> b.
(cherry picked from commit b4b4d896d2d68d6c48e7db7bfe95c185ca0709cb)
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Support a markdown-style way of annotating module references. For instance
-- | [label]("Module.Name#anchor")
will create a link that points to the same place as the module
reference "Module.Name#anchor" but the text displayed on the link will
be "label".
|
|\ \
| |/
|/| |
|
| |
| |
| |
| | |
See https://gitlab.haskell.org/ghc/ghc/merge_requests/2469
|
| |
| |
| |
| |
| |
| |
| |
| | |
* `unL` is already defined by GHC as `unLoc`
* `reL` is already defined by GHC as `noLoc` (in a safer way too!)
* Condense `setOutputDir` and add a about exporting from GHC
Fixes #978
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
None of these error cases should ever have been reachable, so this is
just a matter of leveraging the type system to assert this.
* Use the `NoExtCon` and `noExtCon` to handle case matches for no
extension constructors, instead of throwing an `error`.
* Use the extension field of `HsSpliceTy` to ensure that this variant
of `HsType` cannot exist in an `HsType DocNameI`.
|
| |
| |
| |
| |
| |
| | |
* unused imports
* imports of `Data.List` without import lists
* missing `CompatPrelude` file in `.cabal`
|
| |\ |
|
| | |
| | |
| | |
| | | |
(cherry picked from commit 3ee6526d4ae7bf4deb7cd1caf24b3d7355573576)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After this commit, we can run with `--latex` on all boot libraries
without crashing (although the generated LaTeX still fails to compile in
a handful of larger packages like `ghc` and `base`).
* Add newlines after all block elements in LaTeX. This is important to
prevent the final output from being more an more indented. See the
`latext-test/src/Example` test case for a sample of this.
* Support associated types in class declarations (but not yet defaults)
* Several small issues for producing compiling LaTeX;
- avoid empy `\haddockbeginargs` lists (ex: `type family Any`)
- properly escape identifiers depending on context (ex: `Int#`)
- add `vbox` around `itemize`/`enumerate` (so they can be in tables)
* Several spacing fixes:
- limit the width of `Pretty`-arranged monospaced code
- cut out extra space characters in export lists
- only escape spaces if there are _multiple_ spaces
- allow type signatures to be multiline (even without docs)
* Remove uninteresting and repetitive `main.tex`/`haddock.sty` files
from `latex-test` test reference output.
Fixes #935, #929 (LaTeX docs for `text` build & compile)
Fixes #727, #930 (I think both are really about type families...)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`markupWarning` often processes inputs which span across paragraphs.
Unfortunately, LaTeX's `emph` is not made to handle this (and will
crash).
Fixes #936.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* default methods now get rendered differently
* default associated types get rendered
* fix a forgotten `s/TypeSig/ClassOpSig/` refactor in LaTeX backend
* LaTeX backend now renders default method signatures
NB: there is still no way to document default class members and the
NB: LaTeX backend still crashes on associated types
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The information about whether or not there is a source-level `forall`
is already available on a `ConDecl` (as `con_forall`), so we should use
it instead of always assuming `False`!
Fixes #1002.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* don't forget to print explicit `forall`'s when there are arg docs
* when printing an explicit `forall`, print all tyvars
Fixes #973
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* '(<|>)' and '`elem`' now get parsed and rendered properly as links
* 'DbModule'/'DbUnitId' now properly get split apart into two links
* tuple names now get parsed properly
* some more small niceties...
The identifier parsing code is more precise and more efficient (although to be
fair: it is also longer and in its own module). On the rendering side, we need
to pipe through information about backticks/parens/neither all the way through
from renaming to the backends.
In terms of impact: a total of 35 modules in the entirety of the bootlib + ghc
lib docs change. The only "regression" is things like '\0'. These should be
changed to @\\0@ (the path by which this previously worked seems accidental).
|
| | | |
| | | |
| | | |
| | | | |
See ghc/ghc!852.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
See https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3337.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
These changes are a part of a fix for
[GHC#17992](https://gitlab.haskell.org/ghc/ghc/issues/17992).
|
| | | | |
|
|/ / /
| | |
| | |
| | | |
See https://gitlab.haskell.org/ghc/ghc/merge_requests/2469
|
| | | |
|
| | | |
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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)`)
|
| |
| |
| |
| | |
It got introduced in ghc/ghc@ae2c9b40f5b6bf272251d1f4107c60003f541b62.
|