Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!usc!elroy.jpl.nasa.gov!ames!skipper!elxsi!maine From: maine@elxsi.dfrf.nasa.gov (Richard Maine) Newsgroups: comp.lang.fortran Subject: Re: global data Message-ID: Date: 8 Jan 91 16:34:24 GMT References: <1991Jan7.131620.27789@msuinfo.cl.msu.edu> <10553@lanl.gov> <1991Jan08.143747.16553@convex.com> Sender: news@skipper.dfrf.nasa.gov Distribution: usa Organization: NASA Dryden, Edwards, Cal. Lines: 45 In-reply-to: bleikamp@convex.com's message of 8 Jan 91 14:37:47 GMT On 8 Jan 91 14:37:47 GMT, bleikamp@convex.com (Richard Bleikamp) said: Richard> There are two very good reasons for including :) INCLUDE in Richard> Fortran Extended. Richard> 1) Its a VERY common existing practice. One of X3J3's Richard> purposes in life is to standard existing practice. No argument from me here. I'm glad to see INCLUDE standardized in F90. Richard> The use of modules to implement a 3rd party library Richard> essentially requires the 3rd party to ship source code. It's not clear to me that this is so. Why couldn't source code be shipped only for the interface to the module, without shipping source code for the implementation? There should be little objection to source code for the interface. That's essentially documentation and is also pretty simillar in content to what would be shipped with include files. One of the uses for the F90 INTERFACE block (whether in a module or not) is to allow the interface to be compiled independently of the subroutine bodies. This may not meet every need, but would seem to cover the basics. I suppose it's possible for a compiler implementation to make this awkward, but it doesn't seem inherent in the concept. That's a quality of implementation issue. A bad enough compiler implementation can make almost anything awkward. See for instance, er, ah, well, hmm, no need to start a flame war here. Its a friendly discussion so far. :-) Richard> In summary, MODULEs and INCLUDE each have their own uses. Richard> Neither is likely to be replaced by the other. I'd agree here. Its even reasonable to use them together. I've got one F90 module I'm working on that is getting a little longer than I like to maintain in one source file, but does not convieniently break down into sub-modules (anyway, I threw out all my preliminary attempts to do so as too awkward). I'm may well divide the module into a few include files for no reason more esoteric than to keep the individual file sizes down. There are some logical functional divisions on which to base the splitting; it's just that enough is shared between the parts that they don't split well into separate modules. -- Richard Maine maine@elxsi.dfrf.nasa.gov [130.134.64.6]