| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
When installing on Windows, run cygpath over $(HADDOCKLIB) so that
haddock (a mingw program, built by GHC) can understand it.
You still need to be in a cygwin environment to run Haddock, because
of the shell script wrapper.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An 80% solution to generating derived instances. A complete solution
would duplicate the instance inference logic, but if a type variable
occurs as a constructor argument, then we can just propagate the derived
class to the variable. But we know nothing of the constraints on any
type variables that occur elsewhere. For example, the declarations
data Either a b = Left a | Right b deriving (Eq, Ord)
data Ptr a = Ptr Addr# deriving (Eq, Ord)
newtype IORef a = IORef (STRef RealWorld a) deriving Eq
yield the instances
(Eq a, Eq b) => Eq (Either a b)
(Ord a, Ord b) => Ord (Either a b)
Eq (Ptr a)
Ord (Ptr a)
(??? a) => Eq (IORef a)
The last example shows the limits of this local analysis.
Note that a type variable may be in both categories: then we know a
constraint, but there may be more, or a stronger constraint, e.g.
data Tree a = Node a [Tree a] deriving Eq
yields
(Eq a, ??? a) => Eq (Tree a)
|
|
|
|
| |
Escape fragments. This fixes e.g. links to operators.
|
|
|
|
|
| |
Don't append a fragment to non-defining index entries, only documents
with a defining occurrence have a name anchor.
|
|
|
|
|
| |
Fixed some broken/redirected/canonicalized links found by a very picky
link checker.
|
|
|
|
|
|
|
|
| |
Don't convert a "newtype" to a single-constructor "data" for
non-abstractly exported types, they are quite different regarding
strictness/pattern matching. Now a "data" without any constructors is
only emitted for an abstractly exported type, regardless if it is
actually a "newtype" or a "data".
|
|
|
|
|
| |
* Add varsyms and consyms to index
* Exclude empty entries from index
|
|
|
|
| |
Adjust for the new exception libraries (as well as the old ones).
|
|
|
|
| |
Small bugfix in the --read-interface option parsing from Brett Letner.
|
|
|
|
| |
Fix cut-n-pasto
|
|
|
|
|
|
|
| |
Remove <P>..</P> from around list items, to reduce excess whitespace
between the items of bulleted and ordered lists.
(Suggestion from Daan Leijen).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch to allow simple hyperlinking to an arbitrary location in another
module's documentation, from Volker Stolz.
Now in a doc comment:
#foo#
creates
<a name="foo"></a>
And you can use the form "M\#foo" to hyperlink to the label 'foo' in
module 'M'. Note that the backslash is necessary for now.
|
|
|
|
| |
Patches to quieten ghc -Wall, from those nice folks at Galois.
|
|
|
|
| |
Remove ^Ms
|
|
|
|
| |
Add a version banner when invoked with -v
|
|
|
|
|
|
|
|
|
|
|
|
| |
Relax the restrictions which require doc comments to be followed by
semi colons - in some cases this isn't necessary. Now you can write
module M where {
-- | some doc
class C where {}
}
without needing to put a semicolon before the class declaration.
|
|
|
|
| |
Allow special id's ([], (), etc.) to be used in an import declarations.
|
|
|
|
| |
Allow special id's ([], (), etc.) to be used in an import declaration.
|
|
|
|
|
|
|
|
| |
Allow multiple sections/subsections before and after a comma in the
export list.
Also at the same time I made the syntax a little stricter (multiple
commas now aren't allowed between export specs).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Be a bit more liberal in the kind of commenting styles we allow, as
suggested by Malcolm Wallace. Mostly this consists of allowing doc
comments either side of a separator token.
In an export list, a section heading is now allowed before the comma,
as well as after it. eg.
module M where (
T(..)
-- * a section heading
, f
-- * another section heading
, g
)
In record fields, doc comments are allowed anywhere (previously a
doc-next was allowed only after the comma, and a doc-before was
allowed only before the comma). eg.
data R = C {
-- | describes 'f'
f :: Int
-- | describes 'g'
, g :: Int
}
|
|
|
|
| |
merge rev. 1.35
|
|
|
|
|
|
|
| |
Fix a bug in mkExportItems when processing a module without an
explicit export list. We were placing one copy of a declaration for
each binder in the declaration, which for a data type would mean one
copy of the whole declaration per constructor or record selector.
|
|
|
|
| |
Sort the options a bit
|
|
|
|
|
| |
Tweaks to the MS Help support: the extra files are now only generated
if you ask for them (--ms-help).
|
|
|
|
| |
Fix for rendering of the (->) type constructor, from Ross Paterson.
|
|
|
|
| |
'Microsoft HTML Help' support
|
|
|
|
| |
commented-out debugging code
|
|
|
|
|
|
| |
Don't require that the list type comes from "Prelude" for it to be
treated as special syntax (sometimes it comes from Data.List or maybe
even GHC.Base).
|
|
|
|
| |
More bugfixes to the export handling
|
|
|
|
|
|
|
| |
Clean up the code that constructs the exported declarations, and fix a
couple of bugs along the way. Now if you import a class hiding one of
the methods, then re-export the class, the version in the
documentation will correctly have the appropriate method removed.
|
|
|
|
|
|
| |
Handle import specs properly, include 'hiding'. Haddock now has a
complete implementation of the Haskell module system (more or less; I
won't claim it's 100% correct).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When reading an interface, allow a file path offset to be specified
which represents the path to the HTML files for the modules specified
by that interface. The path may be either relative (to the location
of the HTML for this package), or absolute.
The syntax is
--read-interface=PATH,FILE
where PATH is the path to the HTML, and FILE is the filename
containing the interface.
|
|
|
|
| |
Make it compile with newer GHCs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for reading and writing interface files(!)
This turned out to be quite easy, and necessary to get decent
hyperlinks between the documentation for separate packages in the
libraries.
The functionality isn't quite complete yet: for a given package of
modules, you'd like to say "the HTML for these modules lives in
directory <dir>" (currently they are assumed to be all in the same
place).
Two new flags:
--dump-interface=FILE dump an interface file in FILE
--read-interface=FILE read interface from FILE
an interface file describes *all* the modules being processed. Only
the exported names are kept in the interface: if you re-export a name
from a module in another interface the signature won't be copied.
This is a compromise to keep the size of the interfaces sensible.
Also, I added another useful option:
--no-implicit-prelude
avoids trying to import the Prelude. Previously this was the default,
but now importing the Prelude from elsewhere makes sense if you also
read in an interface containing the Prelude module, so Haddock imports
the Prelude implicitly according to the Haskell spec.
|
|
|
|
|
|
| |
When we have a single code block paragraph, don't place it in
<pre>..</pre>, just use <tt>..</tt> to avoid generating extra vertical
white space in some browsers.
|
|
|
|
|
| |
Add support for a "prologue" - a description for the whole library,
placed on the contents page before the module list.
|
|
|
|
| |
Empty declaration fixes.
|
|
|
|
| |
portability nit
|
|
|
|
|
|
|
| |
Tiny workaround for the fact that Haddock currently ignores
HsImportSpecs: Let the local_orig_env take precedence.
This is no real solution at all, but improves things sometimes,
e.g. in my GLUT documentation. :-)
|
|
|
|
|
| |
Identifiers in single quotes can be symbol names too (bug reported by
Hal Daume).
|
|
|
|
|
| |
Keep foreign imports when there is no export list (bug reported by
Sven Panne).
|
|
|
|
| |
Render class names as proper binders
|
|
|
|
| |
Fix for exporting record selectors from a newtype declaration
|
|
|
|
|
| |
Fix linking to qualified names again (thanks to Sven Panne for
pointing out the bug).
|
|
|
|
|
|
|
| |
Allow exporting of individual class methods and record selectors. For
these we have to invent the correct type signature, which we do in the
simplest possible way (i.e. no context reduction nonsense in the class
case).
|
|
|
|
| |
Include the instances in abstract data types too
|
|
|
|
|
|
|
|
|
|
|
| |
Make the markup syntax a little more friendly:
- single quotes are now interpreted literally unless they surround a
valid Haskell identifier. So for example now there's no need to
escape a single quote used as an apostrophe.
- text to the right of a bird track is now literal (if you want
marked-up text in a code block, use @...@).
|
|
|
|
| |
Back out previous change until we can find a better way to do this.
|
|
|
|
|
|
|
|
|
| |
Handle lone occurrences of '/', e.g.,
-- | This/that.
[did this in the lexer rather than in the parser, as I couldn't
see a way not to introduce an S/R conflict that way.]
|
|
|
|
|
|
|
| |
Only link to names in the current module which are actually listed in
the documentation. A name may be exported but not present in the
documentation if it is exported as part of a 'module M' export
specifier.
|