Emulieren von Namespaces in Fortran 90

Eines der problematischsten Probleme mit Fortran 90 ist das Fehlen von Namespaces. In dieser vorherigen Frage "Wie werden die Daten des Fortran 90-Moduls verwendet?" von Pete, es wurde das Hauptproblem von USE besprochen, das sich in Python wie ein "from module import *" verhält: Alles, was im Modul als öffentlich deklariert ist, wird unverändert im Rahmen des importierenden Moduls importiert. Kein Präfix. Dies macht es sehr, sehr schwer zu verstehen, wenn ein Code gelesen wird, woher ein bestimmter Bezeichner stammt und ob ein bestimmtes Modul noch verwendet wird oder nicht.

Eine mögliche Lösung, die in der oben verlinkten Frage erörtert wurde, besteht darin, das Schlüsselwort ONLY zu verwenden, um sowohl die importierten Bezeichner als auch das Dokument, aus dem sie stammen, einzuschränken. Dies ist jedoch sehr, sehr mühsam, wenn das Modul sehr groß ist. Das Modul klein zu halten und immer USE: ONLY zu verwenden, ist eine potenziell gute Strategie, um das Fehlen von Namespaces und qualifizierenden Präfixen in Fortran 9X zu umgehen.

Gibt es andere (nicht unbedingt bessere) Workaround-Strategien? Sagt der Fortran 2k3-Standard etwas zur Unterstützung von Namespaces?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage