2 min read

More docs added

I’ve added Jonathan Scott Duff’s introduction to Perl 6 regexes to Perl6-Doc as perlreintro. In addition I put in a first draft of a perlobjintro. Neither of these correspond to names from the set of Perl 5 man pages, which is fitting since they are not directly based on them. So, Perl6-Doc now has 4 man pages, the aforementioned two as well as perlintro and perlsyn. I’ll be carefully adding to and polishing these in the near future. I’m hesitant to start on man pages relating to modules, IO, laziness/iterators, and other very important features, as the specs (and implementation) for those are still shifting heavily from month to month.

I’ve been thinking about using the Perl Table Index as initial source material for the magical syntax recognition feature, the implementation of which has remained elusive for a while. The current implementation is just a proof-of- concept with only a few terms as of yet. However, Damian Conway just published a significant update to Synopsis 26 on Perl documentation, focused on tying docs to code, so it might be time to figure out some Pod-ish source format for the terms to be stored in. Writing Pod is a breeze, so it should be easy to contribute new terms.

grok also needs more love. I’m not as happy as I’d like to be with some of its implementation details, most notably how it picks out functions from Synopses 29 and 32, using simple regexes (to be fair, this is exactly what good ol’ perldoc -f does). It should parse the Pod and pick out parts of the document tree instead, I think. There are also still a few visual differences between textual output of Pod 5 and Pod 6 that I have to address. Pod 5 textual output is pleasingly indented (gradually depending on the current heading level), which makes it very easy to follow, while Pod 6 is not.

As a sidenote, I believe I’ve found what was causing intermittent FAIL reports from CPAN testers. Some machines had a pretty old version of Pod::Simple which didn’t take well to subclassing. Another failure was caused by an old Pod::Parser (deprecated, but relied on by Pod::Xhtml) version which didn’t recognize =encoding directives. The relevant distributions now depend on newer versions of those troublesome modules.

comments powered by Disqus