Re: GNU Prolog documentation
Daniel Diaz <[email protected]>
| Newsgroups | gmane.comp.gnu.prolog.general |
|---|---|
| Message-ID | <[email protected]> |
Le 25 juin 2013 à 11:56, emacstheviking <[email protected]> a écrit : > Hi, > > Does anybody know what would be the *best* way to slice and dice the documentation source files to produce "nuggets" per predicate? > > As far as I can see, the gprolog runtime doesn't have apropos or help predicates like some other implementations so I have decided that as an aid to learning more I am going to try to implement them but of course they need access to the underlying documentation for the meat of the output. > > I can see from the source distribution that the documentation is written using .tex files (I have used LaTeX for many many years) BUT would it be *easier* to pick apart the large single HTML file instead. The H4 tags carry the predicate name which is useful as a starting point. > > I would like to have something like this: > > help(predicate). > > Dump the relevant part of the help file to the console. > > Hi Thank you for your interest for GNU Prolog and for your proposal to contribute to the doc. Contributions are always welcome :-) As explained by Lindsay in another mail, the doc is written in LaTeX. PDF is obtained with pdflatex, HTML with HeVeA. The solution proposed by Lindsay, ie. extracting doc from pl-bips.tex (BTW, FD constraint predicates are in fd-cstr.tex) is doable and should work for most predicates. However, when several predicates are grouped in a same subsubsection you will obtain the help for all involved predicates (eg. var, nonvar, atom,…). A preferable solution would consist in extracting once for all the doc from the tex file and to put once for all in the corresponding source files (ala Javadoc or pldoc). I never had enough time for this… Recently the Prolog Commons group discussed a syntax for the literate doc of the commons predicates (the syntax is close to markdown): it would be a good idea to use/extend this syntax for the gprolog built-ins too. Let me know if you are interested in participating to this. > I have written a "C" extension that wraps the dynamic link library calls (dlopen,dlcose etc) and so far that seems to show promise. BTW: I'm interested on your experience. We have also done this for ix86/linux (easy architecture). For x86_64/linux I thing it is needed to produce PIC code so I have recently added this option to compiler (gplc and the ma2asm sub-compiler). But it is not yet really used (the idea with the module support is to load/unload a module with dlopen/dlclose). On which architecture do you use libld (dlopen,…) ? > I was toying with writing the actual implementation in C using libxml or something to scour the HTML file, on demand. My other approach would be to produce a "database" (bunch of files called predicatename.txt) and then just interpolate the filename from the help argument and do it that way. Whatever, with all programs it comes down to defining the data first! > > I really like GNU Prolog, I started with SWIPL but it's too big a dung-ball for me right now. Ciao seems "ok" but again, too big a dung-ball. I like the lean and mean approach with GNU Prolog plus the opportunity to make it better with my own extensions. Thank you for those kind words ! Daniel -- Ce message a ete verifie par MailScanner pour des virus ou des polluriels et rien de suspect n'a ete trouve.