RDoc supports generating documentation for Fortran 95. This support includes:
* A Fortran 95 parser
* A Fortran-oriented template (hefss)
The support was imported around December 2005 from the rdoc-f95 project
(http://www.gfd-dennou.org/library/dcmodel/rdoc-f95/). Since then, however, the rdoc-f95 project has released several
new versions with some cool new features. The project's support of Fortran 95 is quite impressive.
See http://www.gfd-dennou.org/library/gtool4/gt4f90io/gt4f90io_current/doc/develop_reference/ for an example. In particular,
look at http://www.gfd-dennou.org/library/gtool4/gt4f90io/gt4f90io_current/doc/develop_reference/classes/regex.html.
Fortran 95 is a statically typed language, and the fork embeds the type of each subroutine argument in the documentation.
In addition, the fork allows TeX notation to be converted into MathML when generating HTML.
The current relationship between rdoc and rdoc-f95 is not optimal. Firstly, rdoc does not get any bug fixes or enhancements
created by the rdoc-f95 project. Secondly, there are no tests for rdoc's current Fortran 95 functionality, so there
is no way for rdoc developers to know whether we have broken this functionality (and we already have broken this
functionality to some extent). Thirdly, the maintainers of rdoc-f95 distribute their project as a patch against the
version of rdoc included in Ruby's Standard Library, which entails releasing a new patch for each version of Ruby.
Without question, their project will be broken severely when rdoc 2.x is integrated into the Ruby Standard Library.
I think that rdoc-f95 has valuable features that should be integrated in rdoc. Regarding Fortran 95 support in particular,
either the latest version should be integrated or rdoc's architecture should allow fortran 95 support to be distributed
as a separate package (*not* as a patch file); this would entail removing all Fortran 95 support from rdoc's stock
distribution. In addition to adding features to rdoc, supporting a statically typed language like Fortran 95 would
offer a way to allow rdoc to become a multi-language tool. |