It's been quite a while since I posted. I am still working to upgrade legacy (F77) code to F90. Recently, I have stumbled onto situations in which procedures are being passed as arguments in the call. I'm not sure how common this is; I had never seen it and discovered it quite accidentally. This (I discovered) exlained the EXTERNAL statements in the specificaon part of certain routines. Upon researching this, I believe I discovered a way to "convert" this structure to F90; it involves the use of the INTERFACE block. I prepared a skeleton for illustration:
1) Can anyone please confirm that this template is appropriate? (I realize I've omitted much detail; I'm trying to get the concept for now, with an eye toward parallelism.)
2) In the call to s.D, procedures B & C - which have their own arguments - are (of course) referenced as arguments. How can procedures B & C be executed without arguments?
3) If the F90 structure is appropriate, will it work as well if all the procedures (s.A, s.B, S.D & f.C) are in the CONTAINS part of a Module?
I hope I have presented this clearly and appreciate any helpful feedback. ( I also hope my pasted table appears as well as it does in the edit window; I've never tried this before.)


