(j3.2006) Units of measurement in Fortran

Rasmussen, Craig E rasmussn
Fri Apr 22 12:12:52 EDT 2011


Sorry about the formatting on the original, I've tried to handle Van's original comments better.

-craig

On Apr 22, 2011, at 10:01 AM, Rasmussen, Craig E wrote:

>> 
>> On Apr 21, 2011, at 3:19 PM, Van Snyder wrote:
>> 
>> 
>> On Thu, 2011-04-21 at 08:15 -0700, Rasmussen, Craig E wrote:
>> I'm hoping to get a proposal funded that will allow users to add units
>> to Fortran via compiler directives like OpenMP.  We now have the
>> compiler infrastructure in place with our Open Fortran Parser (OFP)
>> and ROSE to build a tools that would ensure that units are maintained
>> in the program.
>> 
>> If you plan to use a Fortran parser, add real syntax instead of
>> directives.  I recommend using what I propose in Units-TR-7.  You could
>> even preprocess to provide the conversion units, including during I/O.
>> 
>> Using your proposed syntax is a good idea but it will still have to be hidden behind a !$ so that it can be compiled with a normal compiler.
>> 
>> 
>> I don't really see a need to add units to the language (Van may
>> disagree) because units can be checked with static analysis tools and
>> have not effect on runtime behavior of a program.
>> 
>> So I/O is not a runtime behavior?  Units conversion is not a runtime
>> behavior?
>> 
> Can you explain how you propose to annotate a file so that units can be checked during I/O?  I didn't realize you wanted to standardize this as well.
> 
> Are you coming to Garching?  If you are interested, perhaps you could work with me on this.  I have a little bit of funding for the next year and I could use it to start this tool.  I also found out that at least the preliminary work has been done so we could try it out on some of your codes and see what we get.
> 
>> 
>> We don't really need strong typing, either, since it can be checked by
>> static analysis tools.  Or explicit interfaces.  Or....  Should the
>> processor actually care that you have the correct number of subscripts?
>> That could be checked by static analysis tools.
>> 
>> Proprocessors can provide control structures.
>> 
>> Derived types can be faked.
>> 
>> Let's just go back to Fortran 77 + Ratfor.
>> 
> To me, compiler directives is the correct approach.
> 
>> I have nothing against compiler directives, but pretending they solve
>> the whole problem doesn't actually make the problem go away.
>> 
>> 
> I think there is a trade off between static analysis tools and what goes into a language.  If only a small minority of Fortran users will use a feature it shouldn't go into the language, just handle it with tools.
> 
> I personally like units and think it is appropriate for Fortran.  However, it is not in Fortran at the moment and a static analysis tool can easily do the task as it has exactly the same source information a compiler will have.
> 
> -craig
> 
> 
> 
> 
> _______________________________________________
> J3 mailing list
> J3 at j3-fortran.org
> http://j3-fortran.org/mailman/listinfo/j3





More information about the J3 mailing list