j3-fortran / fortran_proposals

Proposals for the Fortran Standard Committee
178 stars 15 forks source link

Support for containers #170

Open vansnyder opened 4 years ago

vansnyder commented 4 years ago

I proposed a system to support development of containers at meeting 219 in Tokyo. It was ruled "out of order," even though at meeting 216 in Berkeley WG5 had agreed to develop support for development of containers rather than to provide specific containers. The paper was 19-168, attached herewith. 19-168.pdf

FortranFan commented 4 years ago

@vansnyder wrote on May 9, 2020, 4:12 PM EDT:

I proposed a system to support development of containers at meeting 219 in Tokyo. It was ruled "out of order," even though at meeting 216 in Berkeley WG5 had agreed to develop support for development of containers rather than to provide specific containers. The paper was 19-168, attached herewith. 19-168.pdf

@vansnyder,

I've read your proposal and even though I can't claim to understand most of it and thus am unclear on many of the items therein, I agree with the concept of language support for the development of containers which would be a natural extension of the concept of derived types (and procedures that operate on derived types including the type-binding facility).

Can you post here the smallest list of additional items (iterators?) that can be added to the base Fortran language standard that you think will make development of containers easier? By development, I mean by other library writers who want to roll out their own containers for others to use e.g., FOSS minded, commercial entities, etc.

vansnyder commented 2 years ago

"Can you post here the smallest list of additional items (iterators?) that can be added to the base Fortran language standard that you think will make development of containers easier?"

Updaters (some call them setters) would be one of them. The proposal in 19-168 was an attempt for an unified structure providing a data declaration for a container, together with procedures to operate on it, along with uniform syntax so that if one chose to change the representation of the data, the syntax to reference it would not change.