Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!usc!wuarchive!uunet!convex!bleikamp From: bleikamp@convex.com (Richard Bleikamp) Newsgroups: comp.lang.fortran Subject: Re: global data Summary: Fortran90:INCLUDE is not redundent wrt MODULEs Keywords: Fortran Extended, Fortran 90, MODULEs Message-ID: <1991Jan08.143747.16553@convex.com> Date: 8 Jan 91 14:37:47 GMT References: <1991Jan7.131620.27789@msuinfo.cl.msu.edu> <10553@lanl.gov> Sender: news@convex.com (news access account) Distribution: usa Organization: Convex Computer Corporation, Richardson, Tx. Lines: 43 Nntp-Posting-Host: mozart.convex.com In article <10553@lanl.gov> jlg@lanl.gov (Jim Giles) writes: > >Fortran Extended (the most recent, and let's hope final name) has both >INCLUDE and MODULE in it. .... > (discussion of MODULEs deleted) > ..... INCLUDE is basically redundant when MODULEs >are available. > There are two very good reasons for including :) INCLUDE in Fortran Extended. 1) Its a VERY common existing practice. One of X3J3's purposes in life is to standard existing practice. 2) MODULEs, although a powerful tool for "local" software development, are not well suited for supporting 3rd party applications. For purposes of this discussion, let us assume one important use of MODULEs and INCLUDE will be the specification of interfaces to a library, and definition of some new types. Both MODULEs and INCLUDE provide this capability. The use of modules to implement a 3rd party library essentially requires the 3rd party to ship source code. Not all 3rd party vendors want to do this. It is likely that compiler vendors will compile a MODULE into some intermediate representation, which could afford some protection to the 3rd party vendor who wishes to keep their source code secret; however, intermediate representations for MODULEs are very likely to suffer from rev-lock problems with each release of the compiler. 3rd party vendors (and computer manufacturers) can't release a new copy of each 3rd party library whenever the compiler is updated. Also, INCLUDE files are more portable across different machines, while intermediate representations of MODULEs will not be portable. Public domain libraries, or GNU like licensed libraries, are good candidates for the use of MODULEs. The creator of the source code must be willing to release the source to make effective use of MODULEs. In summary, MODULEs and INCLUDE each have their own uses. Neither is likely to be replaced by the other. -- ------------------------------------------------------------------------------ Rich Bleikamp bleikamp@convex.com Convex Computer Corporation