On Sat, 2016-07-09 at 14:58 -0400, Vipul Parekh wrote:
> 2. How does your proposal differ from some recent articles on the
> topic? I admit I've not studied any in detail and only have some
> vague impressions, so I would rather read of your views on this.
> Here're some literature
> references: http://www.sciencedirect.com/science/article/pii/S1877750315000563 and http://scitation.aip.org/content/aip/journal/cise/18/1/10.1109/MCSE.2016.17.
The CamFort work by Orchard, Rice and Oshmyan is very interesting (and
contains some useful examples). They (correctly) argue that annotating
every variable that isn't unitless is labor intensive, so the system
they have developed requires annotating only a few, from which they
infer the units of others -- or announce that more variables need
annotation to make the code consistent.
If a units proposal requiring inference were to be put before the
Fortran committees, vendors' resistance would only be stiffened.
Notwithstanding that Orchard et al explain how they do inference (and
it's not tremendously difficult), it would only add to the existing
"it's too hard" argument.
CamFort is a preprocessor. One drawback of a preprocessor is that every
user of your code needs to have it, as well as a Fortran compiler. The
CamFort tools are open source, so there's no purchase expense involved,
but one must obtain and install them, and then fiddle makefiles.
Another drawback is that, if the line numbers of the input and output
are different, using source-level debuggers becomes tedious. One needs
to have both the input and output for the preprocessor at hand, and have
at least a vague idea of the transformations it applies.
|