aboutsummaryrefslogtreecommitdiff
path: root/src/Haddock/Interface.hs
Commit message (Collapse)AuthorAgeFilesLines
* Get rid of GhcModule and related cruftDavid Waern2010-08-261-43/+2
| | | | We can get everything we need directly from TypecheckedModule.
* Follow recent API additions with some refactoringsDavid Waern2010-08-261-51/+75
| | | | | Simon Hegel's patch prompted me to do some refactorings in Main, Haddock.Documentation and Haddock.Interface.
* Whitespace policeDavid Waern2010-05-141-1/+1
|
* Move some more flag functions to Haddock.OptionsDavid Waern2010-05-141-1/+1
|
* Re-direct compilation output to a temporary directoryDavid Waern2010-05-141-29/+57
| | | | | Also add a flag --no-tmp-comp-dir that can be used to get the old behaviour of writing compilation files to GHC's output directory (default ".").
* Remove meaningless commentsDavid Waern2010-05-131-10/+7
|
* Improve documentation of Haddock.InterfaceDavid Waern2010-05-131-4/+17
|
* Fixes to comments onlyDavid Waern2010-05-131-6/+6
|
* Fix #112David Waern2010-04-101-1/+2
| | | | | | | | No link was generated for 'Addr#' in a doc comment. The reason was simply that the identifier didn't parse. We were using parseIdentifier from the GHC API, with a parser state built from 'defaultDynFlags'. If we pass the dynflags of the module instead, the right options are turned on on while parsing the identifer (in this case -XMagicHash), and the parse succeeds.
* Improve function nameDavid Waern2010-04-081-2/+2
|
* Large additions to the Haddock APIdavid.waern2010-02-241-4/+9
| | | | Also improved and added more doc comments.
* Remove cruft due to compatibility with older GHCsDavid Waern2009-11-281-12/+0
|
* Whitespace policeDavid Waern2009-11-271-8/+8
|
* Comments on instancesDavid Waern2009-11-241-1/+1
| | | | | | | | | | | | | | | Implementing this was a little trickier than I thought, since we need to match up instances from the renamed syntax with instances represented by InstEnv.Instance. This is due to the current design of Haddock, which matches comments with declarations from the renamed syntax, while getting the list of instances of a class/family directly using the GHC API. - Works for class instances only (Haddock has no support for type family instances yet) - The comments are rendered to the right of the instance head in the HTML output - No change to the .haddock file format - Works for normal user-written instances only. No comments are added on derived or TH-generated instances
* Use defaultObjectTarget rather than HscAsmIan Lynagh2009-11-201-3/+3
| | | | This fixes haddock when we don't have a native code generator
* Remove commented-out codeDavid Waern2009-09-091-31/+0
|
* Move doc parsing/lexing into Haddock for ghc>=6.11Isaac Dupree2009-08-231-2/+6
|
* remove ghc 6.8 conditionals from Haddock.InterfaceIsaac Dupree2009-08-161-48/+1
|
* Find instances using GHC, which is more complete.Isaac Dupree2009-08-181-2/+1
| | | | | | | | | | | In particular, it works cross-package. An intermediate patch also moved the instance-finding into createInterface, but that move turned out not to be necessary, so if we want to do that, it'd go in a separate patch. (Is that possible? Or will we need GHC to have loaded all the modules first, before we can go searching for the instances (e.g. if the modules are recursive or something)?)
* Cross-Package Documentation version 4Isaac Dupree2009-08-121-2/+2
|
* Fix unused import warningsIan Lynagh2009-07-071-1/+0
|
* Use HscAsm instead of HscC when using THDavid Waern2009-07-061-4/+4
|
* Fix warningsIan Lynagh2009-07-051-3/+3
|
* Fix spelling errorDavid Waern2009-06-241-1/+1
|
* Add Haddock module headersDavid Waern2009-06-241-8/+13
| | | | | | | | | Add a proper Haddock module header to each module, with a more finegrained copyright. If you feel mis-accreditted, please correct any copyright notice! The maintainer field is set to haddock@projects.haskell.org. Next step is to add a brief description to each module.
* Move H.GHC.Utils to H.GhcUtilsDavid Waern2009-04-051-1/+1
|
* -Wall police in H.InterfaceDavid Waern2009-03-281-10/+5
|
* Remove H.DocName and put DocName in H.TypesDavid Waern2009-03-271-1/+0
|
* Remove H.GHC.TypecheckDavid Waern2009-03-271-1/+36
|
* Fix conflictsDavid Waern2009-03-271-46/+63
|
* Add some basic "verbose" mode logging in H.InterfaceDavid Waern2008-12-071-57/+49
|
* 'needsTemplateHaskell' is not defined in current stable GHC.Thomas Schilling2009-02-241-0/+3
|
* Fix bad error handling with newer GHCsDavid Waern2009-02-251-26/+20
| | | | | | | | When support for GHC 6.10 was added, an error handler was installed only around the typechecking phase. This had the effect that errors thrown during dependency chasing were caught in the top-level exception handler and not printed with enough detail. With this patch we wrap the error handler around all our usage of the Ghc monad.
* Correct spelling mistake in error messageDavid Waern2009-01-241-1/+1
|
* Only use needsTemplateHaskell when compiling with GHC 6.10.2 or aboveDavid Waern2009-01-101-0/+4
|
* Fix Trac #68: Turn on compilation via C for Template Haskell packagesDavid Waern2009-01-101-1/+14
| | | | | | | | We can't use HscNothing if we need to run code coming from modules inside the processed package during typechecking, which is the case for some packages using Template Haskell. This could be improved, to e.g. use HscInterpreted and HscNothing where possible, instead of using HscC for all modules in the package.
* Do not process boot modulesDavid Waern2009-01-061-26/+38
| | | | | | | | | | We should of course not try to produce documentation for boot modules! The reason this has worked in the past is that the output of "real" modules overwrites the output of boot modules later in the process. However, this causes a subtle link environment problem. So let's get rid of this stupid behaviour. We avoid processing boot modules, but we continue to typecheck them.
* Show re-exported names from external packages againDavid Waern2009-01-021-20/+30
| | | | | | | This fixes GHC ticket 2746. In order to also link to the exported subordinate names of a declaration, we need to re-introduce the sub map in the .haddock files.
* Force interface more aggressively.Thomas Schilling2008-10-201-0/+2
| | | | | | | For running Haddock on GHC this reduces memory usage by about 50 MB on a 32 bit system. A heap profile shows total memory usage peak at about 100 MB, but actual usage is at around 300 MB even with compacting GC (+RTS -c).
* Fix documentation for createInterfacesDavid Waern2008-10-101-1/+1
|
* Make Haddock build with GHC 6.8.2David Waern2008-10-101-7/+40
|
* Interleave typechecking with interface creationDavid Waern2008-10-091-29/+92
| | | | | | At the same time, we fix a bug where the list of interfaces were processed in the wrong order, when building the links and renaming the interfaces.
* Add a flag for turning off all warningsDavid Waern2008-04-111-1/+2
|
* Change the representation of DocNamesDavid Waern2008-02-091-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ross Paterson reported a bug where links would point to the defining module instead of the "best" module for an identifier (e.g Int pointing to GHC.Base instead of Data.Int). This patch fixes this problem by refactoring the way renamed names are represented. Instead of representing them by: > data DocName = Link Name | NoLink Name they are now represented as such: > data DocName = Documented Name Module | Undocumented Name and the the link-env looks like this: > type LinkEnv = Map Name Module There are several reasons for this. First of all, the bug was caused by changing the module part of Names during the renaming process, without changing the Unique field. This caused names to be overwritten during the loading of .haddock files (which caches names using the NameCache of the GHC session). So we might create new Uniques during renaming to fix this (but I'm not sure that would be problem-free). Instead, we just keep the Name and add the Module where the name is best documented, since it can be useful to keep the original Name around (for e.g. source-code location info and for users of the Haddock API). Also, the names Link/NoLink don't really make sense, since wether to use links or not is entirely up to the users of DocName. In the process of following this change into H.Backends.Html I removed the assumption that binder names are Undocumented (which was just an unnecessary assumption, the OccName is the only thing needed to render these). This will probably make it possible to get rid of the renamer and replace it with a traversal from SYB or Uniplate. Since DocName has changed, InterfaceFile has changed so this patch also increments the file-format version. No backwards-compatibility is implemented.
* Manual merge of a patch from Duncan Coutts that removes the dependency on mtl David Waern2007-11-111-1/+0
|
* Filter out instances with TyCons that are not exportedDavid Waern2007-11-061-4/+7
|
* Simplify createInterfacesDavid Waern2007-08-301-10/+9
|
* Rename HaddockModule to InterfaceDavid Waern2007-08-301-5/+5
|
* WibbleDavid Waern2007-08-291-4/+2
|
* Some comment cleanupDavid Waern2007-08-291-6/+5
|