aboutsummaryrefslogtreecommitdiff
path: root/src/Haddock
Commit message (Collapse)AuthorAgeFilesLines
* FIX #44: Propagate parenthesis level when printing documented typesDavid Waern2008-07-241-1/+1
|
* Be compatible with GHC 6.8.3David Waern2008-07-231-2/+6
| | | | | | | | | | | | | | | | | | The cabal file is converted to use the "new" syntax with explicit Library and Executable sections. We define the __GHC_PATCHLEVEL__ symbol using a conditinal cpp-options field in the cabal file. (Ideally, Cabal would define the symbol for us, like it does for __GLASGOW_HASKELL__). We use these symbols to #ifdef around a small difference between 6.8.2 and 6.8.3. Previously, we only supported GHC 6.8.2 officially but the dependencies field said "ghc <= 6.9". This was just for convenience when testing against the (then compatible) HEAD version of GHC, and was left in the release by mistake. Now, we support both GHC 6.8.2 and 6.8.3 and the dependencies field correctly reflects this.
* Resolve conflicts in H.B.HoogleDavid Waern2008-07-201-0/+3
|
* Print type signatures with brackets around the nameNeil Mitchell2008-07-101-3/+9
|
* Put brackets round operators in more places in the Hoogle outputNeil Mitchell2008-07-101-3/+13
|
* Remove the TODO in the Hoogle HTML generation, was already doneNeil Mitchell2008-07-101-1/+0
|
* Remove any white space around a <li> elementNeil Mitchell2008-06-261-1/+3
|
* Fix a bug in the Hoogle backend, unordered lists were being written out ↵Neil Mitchell2008-06-261-1/+1
| | | | <ul>...</u>
* Flesh out the Hoogle code to render documentationNeil Mitchell2008-06-261-4/+100
|
* Add support for Hoogle writing ForeignImport/ForeignExport properlyNeil Mitchell2008-06-261-0/+2
|
* Remove the indent utility function from Hoogle backendNeil Mitchell2008-06-261-1/+0
|
* Change how the Hoogle backend outputs classes, adding the context inNeil Mitchell2008-06-261-1/+12
|
* Follow changes to ExportDecl in HoogleDavid Waern2008-07-201-2/+6
|
* Preparation for rendering instances as separate declarationsDavid Waern2008-07-206-83/+189
| | | | | | | | | We want to be able to render instances as separate declarations. So we remove the Name argument of ExportDecl, since instances are nameless. This patch also contains the first steps needed to gather type family instances and display them in the backend, but the implementation is far from complete. Because of this, we don't actually show the instances yet.
* Small touchesDavid Waern2008-07-131-5/+4
|
* Remove unused import from H.I.CreateDavid Waern2008-07-131-2/+0
|
* Remove FastString import and FSLIT macro in H.I.Create -- they were unusedDavid Waern2008-07-131-2/+0
|
* Refactoring in H.Interface.CreateDavid Waern2008-07-133-196/+128
| | | | | | | | | | | | | | | | | | | | | | | | We were creating a doc map, a declaration map and a list of entities separately by going through the HsGroup. These structures were all used to build the interface of a module. Instead of doing this, we can start by creating a list of declarations from the HsGroup, then collect the docs directly from this list (instead of using the list of entities), creating a documentation map. We no longer need the Entity data type, and we can store a single map from names to declarations and docs in the interface, instead of the declaration map and the doc map. This way, there is only one place where we filter out the declarations that we don't want, and we can remove a lot of code. Another advantage of this is that we can create the exports directly out of the list of declarations when we export the full module contents. (Previously we did a look up for each name to find the declarations). This is faster and removes another point where we depend on names to identify exported declarations, which is good because it eliminates problems with instances (which don't have names).
* Get the all locally defined names from GHC APIDavid Waern2008-07-123-8/+3
| | | | | | We previously had some code to compute all locally defined names in a module including subordinate names. We don't need it since we can get the names from modInfoTyThings in the GHC API.
* Stop using the map from exported names to declarationsDavid Waern2008-07-122-12/+11
| | | | | | | | | | | | | | | During creation of the interface, we were using two maps: one from exported names to declarations, and one from all defined names in the module to declarations. The first contained subordinate names while the second one didn't. The first map was never used to look up names not defined in the associated module, so if we add subordinate names to the second map, we could use it everywhere. That's that this patch does. This simplifies code because we don't have to pass around two maps everywhere. We now store the map from locally defined things in the interface structure instead of the one from exported names.
* Remove filtering of instancesDavid Waern2008-07-071-2/+2
| | | | | | | We were filtering out all instances for types with unknown names. This was probably an attempt to filter out instances for internal types. I am removing the filtering for the moment, and will try to fix this properly later.
* More support for type families and associated typesDavid Waern2008-07-022-50/+73
| | | | Now we just need to render the instances
* Remove redundant check for summary when rendering data typesDavid Waern2008-07-021-4/+3
|
* Render type family declarations (untested)David Waern2008-07-021-6/+80
|
* Rename associated typesDavid Waern2008-06-301-5/+7
|
* Rename type patternsDavid Waern2008-06-301-5/+9
|
* Rename TyFamilyDavid Waern2008-06-301-3/+8
|
* Rename ForeignTypeDavid Waern2008-06-301-4/+3
|
* Improve wording in the help messageDavid Waern2008-06-261-2/+2
|
* Use ghc-paths to get the lib dirDavid Waern2008-06-261-1/+1
| | | | | The path can still be overridden using the -B flag. It's not longer required to pass the lib dir to the program that runs the test suite.
* Be more consistent with GHC API naming in H.GHC.UtilsDavid Waern2008-06-192-7/+7
|
* In Hoogle do not list things that are not local to this moduleNeil Mitchell2008-06-181-1/+6
|
* Change Hoogle to take the package name and package version separatelyNeil Mitchell2008-06-161-8/+12
|
* Add modulePkgInfo to Haddock.GHC.Utils, which gives back package name and ↵Neil Mitchell2008-06-161-0/+9
| | | | version info
* Default to "main" if there is no package, otherwise will clobber hoogle's ↵Neil Mitchell2008-06-161-1/+1
| | | | hoogle info
* Remove <document comment> from the Hoogle outputNeil Mitchell2008-06-141-1/+5
|
* Add initial structure for outputting documentation as well, but does not yet ↵Neil Mitchell2008-06-141-5/+21
| | | | output anything
* Simplify the newtype/data outputting in Hoogle, as haddock does it automaticallyNeil Mitchell2008-06-141-6/+2
|
* Rewrite the --hoogle flag supportNeil Mitchell2008-06-071-137/+62
|
* Add hide options to some source filesDavid Waern2008-05-013-0/+9
|
* Add LANGUAGE pragmas to source filesDavid Waern2008-05-013-0/+10
|
* Remove claim of backwards compatibility from docs for readInterfaceFileDavid Waern2008-05-011-2/+0
|
* Fix missing parenthesis in constructor args bugDavid Waern2008-04-121-4/+4
|
* Fix printing of data bindersDavid Waern2008-04-122-3/+9
|
* Add a flag for turning off all warningsDavid Waern2008-04-113-8/+11
|
* Fix some trivial warnings in H.InterfaceFileDavid Waern2008-02-101-4/+7
|
* H.GHC.Utils: add some functions that were removed by mistakeDavid Waern2008-02-101-0/+8
|
* H.GHC.Utils: remove unused imports/exportsDavid Waern2008-02-091-40/+4
|
* Change the representation of DocNamesDavid Waern2008-02-0911-115/+140
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add documentation for readInterfaceFileDavid Waern2008-01-071-1/+5
|