[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: texinfo in Google Summer of Code

From: Per Bothner
Subject: Re: texinfo in Google Summer of Code
Date: Wed, 10 Feb 2021 12:15:39 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0

On 2/10/21 1:07 AM, Gavin Smith wrote:
For the long term health of the Texinfo project, more people do need
to understand this Perl code. Nobody has come forward to write new
back-ends to generate other output formats (LaTeX, Org Mode,
MediaWiki...). I don't think it's much to do with the fact it's
written in Perl.

It doesn't help - Perl was never all that popular, and is less so than
it used to be.  I never really learned it, though I did figure out how
to make some changes to the code.

I recently (and belatedly) converted the DomTerm backend from C to C++,
though I've only started to make use of C++ functionality.  That is one
advantage of C++, especially given an existing C codebase: You can
incrementally C++-ify and refactor it.  That would have been a better path
for makeinfo - but of course it all depends on what volunteers want to do.
However, I think more people know C++ than Perl and I think it is easier
to write efficient readable code.

However, that's water under the bridge, unless someone wants to
resurrect the old makeinfo C code and migrate it to C++, preferably
learning from the Perl code in designing the C++ classes.

I have some ideas what the problems could be
but would like to hear what others think.

Did you try to understand the code and fail?  What were the difficulties?
Could the code be changed to make it more accessible?

I was able to make some local changes, and add/change the generated html
in places.  However, some more complicated things I couldn't figure out
in the time I spent on it.  The control flow with the table-driven
processing was confusing, especially for anyone not fluent in Perl.
        --Per Bothner
per@bothner.com   http://per.bothner.com/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]