Hmmm, it looks like ftp.j3-fortran.org no longer exists, and ftp to j3-fortran.org doesn't answer. Use http://j3-fortran.org/doc/meeting/167 to access the papers cited in the original message (quoted below). > James Giles wrote: > > > Alvaro Fernandez wrote: > > > > But what Van Snyder said was that he had a _single version_ which he > > > wrote for all kinds and selected internally. That's at least what I > > > understood. > > > > There is a proposal for that (two, so far, although I've not officially > > submitted mine yet since it overlaps with several other proposals > > and I want to see how they fare). Mine goes something like this: > > > > Function mean(r1,r2) > > integer, inferred :: k1, k2 > > real(^k1)::r1 ! k1 is implicitly set to the value of r1's KIND > > real(^k2)::r2 ! k2 in implicitly set to the value of r2's KIND > > real(kind(0.0_k1+0.0_k2)) :: mean ! mean's KIND is determined by the > > usual rule > > > > mean = (r1+r2)/2 > > end function mean > > > > This function is now generic with respect to KIND. The definition of > > the named constants in that form is called "inference". > > At meeting 167, after a convincing tutorial by Aleksandar Donev, J3 voted > not to remove the general topic of "Generic Programming" from the list of > candidates that J3 will advocate to WG5 are worthy of future consideration. > > We managed to reduce the list from about 150 proposals to about 120. We > still need another factor of six or so reduction in order to fit the next > revision into the schedule (tentatively, frozen in 2008 and published in > 2009). > > Aleks and I are now advocating essentially the same thing, with different > details in the spelling: A program unit "template" that has parameters. > The user is required explicitly to instantiate the template. My proposal > is consciously modeled on Ada generic packages, in that I propose to > generalize modules. Aleks wants a new program unit spelled differently > from modules. This is a detail we can settle later. We each have our > preferences; I obviously prefer my approach, but I would be far happier to > have what Aleks proposes than to have nothing. I can't speak definitively > for Aleks, but I think his view of my proposal is similar. > > Dan Nagle also proposed an "Assumed-kind" procedure, which is similar > to what James proposes, but with "*" instead of "^k1" for the kinds. > > What James and Dan are proposing is a bit simpler in the special case of > kind, but (at least as far as I can tell) doesn't handle the more general > cases that Aleks and I want to handle. > > Aleks and I both propose that package parameters not be limited to > integers. We propose that package parameters can be any kind of value, > types, procedures, and packages. The procedures can be either specific > or generic, and the packages can be instances or "templates." > > My paper is ftp://ftp.j3-fortran.org/doc/meeting/167/04-153.ps.gz. Aleks > has two similar papers, .../04-239.txt.gz and .../04-247.txt.gz. Dan's > paper was .../04-237.txt.gz. My paper has examples of the general cases > that Aleks and I hope to address, in its section 7. > > -- > Van Snyder | What fraction of Americans believe > [log in to unmask] | Wrestling is real and NASA is fake? > Any alleged opinions are my own and have not been approved or disapproved > by JPL, CalTech, NASA, Sean O'Keefe, George Bush, the Pope, or anybody else.