caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Gerd Stolpmann" <info@gerd-stolpmann.de>
To: "Francois Berenger" <berenger@riken.jp>
Cc: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] Fwd: Re: [Batteries-devel] browsing the code while reading the doc
Date: Wed, 15 Feb 2012 10:55:33 +0100	[thread overview]
Message-ID: <6c53ae25faf6983cd38954f8d5309179.squirrel@gps.dynxs.de> (raw)
In-Reply-To: <4F3B65B9.5010704@riken.jp>


> -------- Original Message --------
> Subject: Re: [Batteries-devel] browsing the code while reading the doc
> Date: Wed, 15 Feb 2012 08:47:42 +0100
> From: bluestorm <bluestorm.dylc@gmail.com>
> To: Francois Berenger <berenger@riken.jp>
> CC: batteries-devel@lists.forge.ocamlcore.org
>
> We delegate documentation production to the standard ocamldoc tool,
> which doesn't have this feature, so that is not really in the game
> zone of batteries developers. That said, it *could* be possible to
> make that feature available without changing ocamldoc upstream, by
> implementing it as a custom documentation formatter -- ocamldoc has a
> flexible architecture in this regard.
>    http://caml.inria.fr/pub/docs/manual-ocaml/manual029.html#toc120

Before you start writing a total new custom formatter (which probably
breaks with every major OCaml version because of new syntactic elements),
consider to extend/override the standard formatter. I did that quite
successfully for the PXP documentation. The derived formatter is here:

https://godirepo.camlcity.org/svn/lib-pxp/trunk/tools/src/odoc/chtml.ml

(Note that for current OCaml you need to remove the "{" from the matched
strings in html_of_custom_text.)

When I developed this, I found the documentation in the OCaml manual as
insufficient. You really need to dive into the sources of ocamldoc,
especially odoc_html.ml (which is lengthy but easy to get). I guess for
the effect you want you have to override
create_fully_qualified_{module_}idents_links. The location of a definition
in the source code seems to be in deed available, in the m_loc.loc_impl
values that are stored with the records for the various syntactic
elements. Don't know whether it is easy to do, though.

Gerd


>
> Xavier Clerc has some experience tuning ocamldoc (
> http://argot.x9c.fr/ ), maybe he could comment on the feasibility of
> this. You could ask on the caml-list, maybe cc-ing him. If you wished
> to have a try at it directly, looking at how Argot is implemented
> would be a good source of inspiration.
>
> (There used to be a custom documentation generator for Batteries, but
> afaik. we mostly ditched it because, while it was nice, it made
> documentation generation time impossibly slow...)
>
> On Wed, Feb 15, 2012 at 6:01 AM, Francois Berenger <berenger@riken.jp>
> wrote:
>> Hello,
>>
>> It would be really cool when while looking at the HTML doc
>> it would be possible to click somewhere so that the implementation
>> code unrolls under the doc text.
>>
>> Because sometimes the text is not explicit enough,
>> some other times there is no text.
>>
>> Hoogle has such feature and it was pretty useful when
>> I was coding in Haskell (maybe especially useful
>> because I was a beginner in that language), for example:
>>
>> http://www.haskell.org/hoogle/?hoogle=map
>>
>> Just click on map to have a look at the corresponding implementation.
>>
>> Regards,
>> F.
>>
>>
>> _______________________________________________
>> Batteries-devel mailing list
>> Batteries-devel@lists.forge.ocamlcore.org
>> https://lists.forge.ocamlcore.org/cgi-bin/listinfo/batteries-devel
>
> --
> Caml-list mailing list.  Subscription management and archives:
> https://sympa-roc.inria.fr/wws/info/caml-list
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
>
>
>


-- 
Gerd Stolpmann, Darmstadt, Germany    gerd@gerd-stolpmann.de
Creator of GODI and camlcity.org.
Contact details:        http://www.camlcity.org/contact.html
Company homepage:       http://www.gerd-stolpmann.de
*** Searching for new projects! Need consulting for system
*** programming in Ocaml? Gerd Stolpmann can help you.



  parent reply	other threads:[~2012-02-15  9:55 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-15  7:58 Francois Berenger
2012-02-15  8:44 ` Maxence Guesdon
2012-02-15 10:51   ` Gabriel Scherer
2012-02-15  9:55 ` Gerd Stolpmann [this message]
2012-02-15 11:20   ` Daniel Bünzli
2012-02-16  2:11     ` Francois Berenger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6c53ae25faf6983cd38954f8d5309179.squirrel@gps.dynxs.de \
    --to=info@gerd-stolpmann.de \
    --cc=berenger@riken.jp \
    --cc=caml-list@yquem.inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).