|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| ... |  | 
| | | |  | 
| | | 
| | 
| | 
| | 
| | 
| | | As of GHC commit f609374a55bdcf3b79f3a299104767aae2ffbf21 GHC retains the
AvailInfo associated with each IE. @alexbiehl has a patch making proper use of
this change, but this is just to keep things building. | 
| | | |  | 
| | | |  | 
| | | 
| | 
| | 
| | | This reverts commit a850ba86d88a4fb9c0bd175453a2580e544e3def. | 
| | | |  | 
| | |\ |  | 
| | | | |  | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | There is some performance improvement.
GHC compiler:
| version | bytes allocated | cpu_seconds
---------------------------------
| before  | 56057108648     | 41.0
| after   | 51592019560     | 35.1
base:
| version | bytes allocated | cpu_seconds
---------------------------------
| before  | 25174011784     | 14.6
| after   | 23712637272     | 13.1
Cabal:
| version | bytes allocated | cpu_seconds
---------------------------------
| before  | 18754966920     | 12.6
| after   | 18198208864     | 11.6 | 
| | | | |  | 
| | | | 
| | | 
| | | 
| | | | See https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow | 
| | | | 
| | | 
| | | 
| | | | This is no longer necessary after
ghc commit 53c78be0aab76a3107c4dacbb1d177afacdd37fa | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | | I forgot a conditional, oops!
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> | 
| | |\ \ |  | 
| | | | | 
| | | | 
| | | | 
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> | 
| | | | | 
| | | | 
| | | | 
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> | 
| | | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | | When we merge signatures, we gain exports that don't
necessarily have a source-level declaration corresponding
to them.  This meant Haddock dropped them.
There are two big limitations:
* If there's no export list, we won't report inherited
  signatures.
* If the type has a subordinate, the current hiDecl
  implementation doesn't reconstitute them.
These are probably worth fixing eventually, but this gets
us to minimum viable functionality.
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> | 
| | | | | 
| | | | 
| | | | 
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> | 
| | | | | 
| | | | 
| | | | 
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> | 
| | | | | 
| | | | 
| | | | 
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> | 
| | | | | 
| | | | 
| | | | 
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> | 
| | | | | 
| | | | 
| | | | 
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> | 
| | | | | 
| | | | 
| | | | 
| | | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu> | 
| | | | | |  | 
| | | | | |  | 
| | | | | |  | 
| | | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | | * Inhibit output of coverage information for hidden modules.
* Add changelog entry. | 
| | | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | | * Add compile step that bundles and compresses JS files
Also, manage dependencies on third-party JS libraries using NPM.
* Compile JS from TypeScript
* Enable 'noImplicitAny' in TypeScript
* QuickJump: use JSX syntax
* Generate source maps from TypeScript for easier debugging
* TypeScript: more accurate type
* Separate quick jump css file from ocean theme | 
| | | | | |  | 
| | | | | |  | 
| | | | | |  | 
| | | | | |  | 
| | | | | |  | 
| | |_|/  
|/| |   
| | | | Generate an index for package content search | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | | * Make Span strict in Position
* Hyperlinker: Use a proper map to enrich tokens | 
| | | | 
| | | 
| | | 
| | | | This allows us to later throw warnings if can't find an identifier | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | * WIP: Provide --show-interface option to dump interfaces
Like ghcs own --show-iface this flag dumps a binary interface file to
stdout in a human (and machine) readable fashion. Currently it uses
json as output format.
* Fill all the jsonNull stubs
* Rework Bifunctor instance of DocH, update changelog and documentation
* replace changelog, bring DocMarkupH doc back
* Update CHANGES.md
* Update CHANGES.md
* Move Control.Arrow up
It would result in unused import if the Bifunctor instance is not generated. | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | * Fix pretty-printing of pattern signatures
Pattern synonyms can have up to two contexts, both having a
different semantic meaning: The first holds the constraints
required to perform the matching, the second contains the
constraints provided by a successful pattern match. When the
first context is empty but the second is not it is necessary
to render the first, empty context.
* Generate pattern synonym signatures for ctors exported as patterns
This fixes #653.
* Simplify extractPatternSyn
It is not necessary to generate the simplest type signature since
it will be simplified when pretty-printed.
* Add changelog entries for PR #663
* Fix extractPatternSyn error message | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | * rework rename
* Add regression test for Bug 613
* update tests
* update changelog | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | * Move `DocMarkup` from haddock-api to haddock-library
* Move more markup related functions
* Markup module
* CHANGELOG | 
| | | | |  | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | * Avoid errors on non UTF-8 Windows
Problem
====
haddock exits with errors like below:
`(1)`
```
haddock: internal error: <stderr>: hPutChar: invalid argument (invalid character)
```
`(2)`
```
haddock: internal error: Language\Haskell\HsColour\Anchors.hs: hGetContents: invalid argument (invalid byte sequence)
```
`(1)` is caused by printing [the "bullet" character](http://www.fileformat.info/info/unicode/char/2022/index.htm) onto stderr.
For example, this warning contains it:
```
Language\Haskell\HsColour\ANSI.hs:62:10: warning: [-Wmissing-methods]
    • No explicit implementation for
        ‘toEnum’
    • In the instance declaration for ‘Enum Highlight’
```
`(2)` is caused when the input file of `readFile` contains some Unicode characters.
In the case above, '⇒' is the cause.
Environment
----
OS: Windows 10
haddock: 2.17.3
GHC: 8.0.1
Solution
====
Add `hSetEncoding handle utf8` to avoid the errors.
Note
====
- I found the detailed causes by these changes for debugging:
    - https://github.com/haskell/haddock/commit/8f29edb6b02691c1cf4c479f6c6f3f922b35a55b
    - https://github.com/haskell/haddock/commit/1dd23bf2065a1e1f2c14d0f4abd847c906b4ecb4
- These errors happen even after executing `chcp 65001` on the console.
  According to the debug code, `hGetEncoding stderr` returns `CP932` regardless of the console encoding.
* Avoid 'internal error: <stderr>: hPutChar: invalid argument (invalid character)' non UTF-8 Windows
Better solution for 59411754a6db41d17820733c076e6a72bcdbd82b's (1) | 
| | | | |  | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | * Fix haddock: internal error: links: UnhelpfulSpan
This fixes #554 for me. I believe this is another fall out
of `wildcard-refactor`, like #549.
* Comment to clarify why we take the methods name location | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | | * Make per-argument docs for class methods work again
* Test case | 
| | | | 
| | | 
| | | | These are unecessary anyway and just blow up interface size | 
| | | | 
| | | 
| | | 
| | | 
| | | | So we agree that reexported declarations which do not have subordinates (for example top-level functions) shouldn't have gotten fixities reexported according to the current logic. I wondered why for example Prelude.($) which is obviously reexported from GHC.Base has fixities attached (c.f. http://hackage.haskell.org/package/base-4.9.1.0/docs/Prelude.html#v:-36-).
The reason is this: In mkMaps we lookup all the subordinates of top-level declarations, of course top-level functions don't have subordinates so for them the resulting list is empty. In #644 I established the invariant that there won't be any empty lists in the subordinate map. Without the patch from #642 top-level functions now started to fail reexporting their fixities. | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | * Use new function getNameToInstancesIndex instead of tcRnGetInfo
There is some significant performance improvement in the ghc testsuite.
haddock.base: -23.3%
haddock.Cabal: -16.7%
haddock.compiler: -19.8%
* Remove unused imports | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | * Haddock support for bundled pattern synonyms
* Add fixities to bundled pattern synonyms
* Add bundled pattern synonyms to the synopsis
* Store bundled pattern fixities in expItemFixities
* Add test for bundled pattern synonyms
* Stop threading fixities
* Include bundled pattern synonyms for re-exported data types
Sadly, fixity information isn't found for re-exported data types
* Support for pattern synonyms
* Modify tests after #631
* Test some reexport variations
* Also lookup bundled pattern synonyms from `InstalledInterface`s
* Check isExported for bundled pattern synonyms
* Pattern synonym is exported check
* Always look for pattern synonyms in the current module
Another overlooked cornercase
* Account for types named twice in export lists
Also introduce a fast function for nubbing on a `Name` and use it
throughout the code base.
* correct fixities for reexported pattern synonyms
* Fuse concatMap and map
* Remove obsolete import
* Add pattern synonyms to visible exports
* Fix test
* Remove corner case | 
| | | | |  |