home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / faqs / faq / fortran-faq < prev    next >
Encoding:
Text File  |  1995-07-25  |  131.0 KB  |  3,363 lines

  1. Subject: Fortran FAQ
  2. Newsgroups: comp.lang.fortran,comp.answers,news.answers
  3. From: khb@chiba.Eng.Sun.COM (chiba)
  4. Date: 02 Aug 1994 23:09:01 GMT
  5.  
  6. Archive-name: fortran-faq
  7. Frequency: mostly monthly
  8. Expires: 15 September 1994
  9.  
  10. Last-Modified: 94/7/20
  11.  
  12. Here are some answers to frequently asked questions. The "author", as
  13. is the custom, has appropriated posted responses as seemed apt. I have
  14. tried to leave attributions in, as correctly as possible. To anyone
  15. who has been offended by omission or otherwise, my apologies. I shall
  16. give priority to corrections regarding attribution.
  17.  
  18. No one takes responsibility for any of this text, neither the employer
  19. of the "author", the "author", friends of the "author", pets of the
  20. "author" nor anyone else.
  21.  
  22. Your mileage WILL vary. 
  23.  
  24. A good place to look for FAQ's is:
  25.     rtfm.mit.edu, /pub/usenet
  26.  
  27. If you have comments/suggestions/edit proposals please send them to me
  28. (keith.bierman@eng.sun.com). I do not promise to accept 'em. I
  29. encourage others to make better FAQ lists, so I can retire this one.
  30. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  31. summary of changes:
  32.  
  33. q2)  updated
  34. q7)  updated
  35. q12) updated
  36. q34) moved to 35
  37. q34) new
  38.  
  39. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  40.     Questions:
  41.  
  42. Q0) How should one spell FORTRAN/Fortran?
  43. Q1) Is Fortran 90 a Standard? Where can I get a copy of the Fortran
  44.     90 Standard? How about electronic copies? 
  45. Q2) What Fortran 90 translators are available?
  46. Q3) I have heard of fortran "lints"; what are they, and where can
  47.     I get one?
  48. Q4) "Why do people use FORTRAN? C is so much better"
  49. Q5)  Why can't I get an electronic version of the standard?
  50. Q6)  Where can I get "foo" (some random package)
  51. Q7)  Where can I get a free compiler?
  52. Q8)  What is the best compiler for a PC?
  53. Q9)  How does Fortran 90 relate to FORTRAN '77 and what is Fortran 90?
  54. Q10) My compiler is mis-behaving; who enforces the standard?
  55. Q11) What are good books on Fortran? 
  56. Q12) Are there pretty printers for FORTRAN? Flowchart generators?
  57. Q13) Why are there aimless debates?
  58. Q14) How do I call f77 from C (and visa versa)
  59. Q15) What constitutes good FORTRAN style?
  60. Q16) For whatever reasons, I want to translate my Fortran into C.
  61.      What tools are available?
  62. Q17) For whatever reasons, I want to translate my existing C code
  63.      into Fortran. What tools are available?
  64. Q18) What is preprocessing, how can it help? How can it hurt?
  65. Q19) How can I convert an existing FORTRAN 77 program to the free form
  66.      source of Fortran 90?
  67. Q20) Who creates these silly standards anyway?
  68. Q21) How can I read my VAX binary data somewhere else?
  69. Q22) My F77 program compiled ok on a <system1>, but gives me heaps of
  70.      syntax errors on a <system2>. What's wrong?
  71. Q23) My F77 program ran ok on a <system1>, but on a <system2> it just gives
  72.      me strange results. What's wrong?
  73. Q24) Is there a WEB for Fortran (and what is WEB anyway)?
  74. Q25) Where can I find coded BLAS (and what are coded BLAS?)
  75. Q26) How common is DO ... END DO?
  76. Q27) Where can I learn more about the history of Fortran?
  77. Q28) Fortran text editors?
  78. Q29) What are ENCODE and DECODE statements, and how are they translated to
  79.      standard Fortran?
  80. Q30) Tell me about Parallel Fortran dialects, what are they, etc.
  81. Q31) Where can I find a f90 tutorial?
  82. Q32) Where can I get mathematical software?
  83. Q33) What is the best Fortran for...
  84. Q34) What classes are available?
  85. Q35) f90.faq from Michel Olagnon
  86. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  87.  
  88. Q0)  How should one spell FORTRAN/Fortran?
  89.  
  90.     FORTRAN is generally the preferred spelling for discussions of versions of
  91.     the language prior to the current one ("90"). Fortran is the
  92.     spelling chosen by X3J3 and WG5. In this document a feeble effort
  93.     has been made to capitalize accordingly (e.g. vast existing
  94.     software ... FORTRAN vs. generic Fortran to mean all versions of
  95.     the standard, and specifically the modern dialect, ISO 1539:1991).
  96.  
  97. From: walt@netcom.com (Walt Brainerd)
  98.     There was an effort to "standardize" on spelling of programming
  99.     languages just after F77 became a standard.  The rule: if you say
  100.     the letters, it is all caps (APL); if you pronounce it as a word,
  101.     it is not (Cobol, Fortran, Ada).  See, for example the definitive
  102.     article describing Fortran 77 in the Oct 1978 issue of the Comm.
  103.     of the ACM.  The timing was such that FORTRAN got put on the
  104.     standard itself, though many always after that have referred to
  105.     it as Fortran 77.  Of course, there are those who think it is not
  106.     truly Fortran if not written with all caps.
  107.  
  108. <ed note>
  109.  
  110.     ISO 1539:1991 and its ANSI counterpart X3.198-1992 consistently
  111.     employ the spelling "Fortran" to refer to the language being
  112.     defined. Reference(s) to the older version employ "small caps"
  113.     for the "ORTRAN" characters.
  114.  
  115.  
  116. Q1)  Is it a Standard? Where can I get a copy of the Fortran 90
  117.      Standard?
  118.  
  119. Fortran "90" is an ISO standard endorsed/adopted by several countries.
  120. It is also a US standard in its own right. ANSI adopted it on 21
  121. September 1992 (X3.198-1992). It was adopted by ISO July 1991 as
  122. ISO/IEC 1539:1991.
  123.  
  124. <khb> You can't get it from ftp. The various standards bodies get a
  125. substantial fraction of their income from sales of standards
  126. documents. This is unfortunate <khb> Electronic versions are
  127. available, see the note from Walt below.
  128.  
  129. From: julian@cernvax.cern.ch (julian bunn)
  130.  
  131.          The new Fortran 90 standard has now been formally published
  132.      and is available from the ISO central secretariat or from the
  133.      national member bodies. The price is about $120. Some
  134.      ordering detail follow.  I can supply addresses in other
  135.      countries not mentioned on request (to METCALF@CERNVM).
  136.  
  137.     The document reference is ISO/IEC 1539 : 1991. There is no ISBN.
  138.  
  139.     ISO
  140.     1, rue de Varembe
  141.     Case postale 56
  142.     1211 Geneva 20
  143.     Switzerland
  144.     Fax: +41 22 734 10 79   cost 185 swiss francs.
  145.  
  146.     ANSI
  147.     1430 Broadway
  148.     New York, NY 10018
  149.  
  150. or
  151.  
  152. American National Standards Institute
  153. Attn: Customer Service
  154. 11 West 42nd Street
  155. New York, NY 10036
  156.  
  157. Phone: (212)642-4900 8:45-4:45 (EST) 
  158. Fax: (212)302-1286
  159.  
  160.     BSI
  161.     2 Park Street
  162.     London W1A 2BS
  163.  
  164.     DIN
  165.     Burggrafenstrasse 6
  166.     Postfach 1107
  167.     D-1000 Berlin 30
  168.  
  169.     AFNOR
  170.     Tour Europe
  171.     Cedex 7
  172.     92049 Paris La Defence
  173.  
  174. SCC
  175. 1200-45 O'Connor
  176. Ottawa
  177. Ontario  K1P 6N7
  178.  
  179.                             Mike Metcalf
  180.                             (metcalf@cernvm)
  181.  
  182. and from walt@netcom.com
  183.  
  184. For those of you who don't read comp.lang.fortran, you might be
  185. interested to know that I (Walt Brainerd) just called Global
  186. Engineering to see if they sell ISO 1539:1991.  They do; the price is
  187. $225.
  188.  
  189. And 
  190.  
  191. You can obtain copies through:
  192.     Global Engineering Documents
  193.     2805 McGaw Ave.
  194.     Irvine, CA. 92714
  195.     (714) 261-1455
  196.     (800) 854-7179
  197.  
  198.  
  199. New ANSI number 
  200.             ANSI X3.198-1992
  201.  
  202. How about electronic copies?
  203. Return-Path: walt@netcom.com
  204. Subject: ISO 1539 in electronic form
  205.  
  206. In accordance with an official agreement with
  207. the International Standards Organization, Unicomp
  208. is now able to distribute electronic versions of
  209. the Fortran 90 standard: "ISO/IEC 1539 : 1991,
  210. Information technology--Programming languages--Fortran".
  211.  
  212. The money received from this effort will go partly to
  213. fund ISO activities and partly to recover the costs
  214. incurred by Unicomp in preparing and typesetting the
  215. standard document.  The prices are set by ISO.
  216.  
  217. The document can be obtained in three versions:
  218.  
  219. 1.  An ASCII version suitable for viewing on a
  220.     computer terminal using any kind of editor.
  221.     Cost: USD 125.
  222.  
  223. 2.  A PostScript version with a license allowing
  224.     the purchaser to print n paper copies.
  225.     Cost: USD 125 + 10n.
  226.  
  227. 3.  Complete source in ditroff with macros and
  228.     software to extract and create the annexes.
  229.     The source constitutes a fairly high level
  230.     marked-up document; for example, each program
  231.     beginning and ending is marked and there
  232.     are few low-level typographic commands such
  233.     as size and font changes.  Cost USD 1000.
  234.  
  235. I am quite enthused especially about version (2).
  236. If you want to have 10 copies for your organization,
  237. and it costs $10 to make a printed copy, then the
  238. cost to make the 10 copies would be $125 + $200,
  239. or just $32.50 per copy, which is a substantial
  240. savings over purchasing paper copies.
  241.  
  242. Versions (1) and (3) will be accompanied by a
  243. license restricting use to one CPU and prohibiting
  244. copying, except for backup purposes, etc.  The
  245. version (2) license will prohibit distributing
  246. any of the printed copies outside of the purchasing
  247. organization.
  248.  
  249. If you have special requirements, such as wanting
  250. to distribute a copy with each version of your compiler
  251. or using the source as a part of your documentation,
  252. we can make special arrangements, subject to the
  253. approval of the ISO.  Please advise me of your
  254. requirements and we can work up a proposal together.
  255.  
  256. ISO and Unicomp think this will provide the oft requested access to
  257. the standard in electronic form. This is the first time this is being
  258. tried, so we hope that organizations will be careful to observe the
  259. rules and encourage the continued availability of this and other
  260. standards in electronic form. 
  261.  
  262. Payment can be made by Visa or MasterCard, or with
  263. a check on a US Bank in US funds.  We <unicomp> will accept
  264. a purchase order only if the amount is $500 or more.
  265.  
  266. Walter S. Brainerd; Unicomp; phone: (415) 949-4052
  267.  email: walt@netcom.com; fax: (415) 949-4058; 
  268.  
  269.  
  270. Q2) What Fortran 90 translators are available?
  271.  
  272. From: schumanm@Informatik.TU-Muenchen.DE (Matthias Schumann)
  273. From: macphed@dvinci.USask.Ca (Ian MacPhedran)
  274.  
  275. This is the promised summary of my request for information about
  276. Fortran 90 (f90) compilers. I am sorry for the delay in getting this
  277. posted, but I was away for a week, and still haven't caught up.
  278.  
  279. I received a large amount of information, including a previous summary.
  280. Rather than parroting the entire list, I have prepared the following
  281. breakdown of the points which interested me.
  282.  
  283. ------------------------------------------------------------------------------
  284.  
  285. A more current list can be found (if you have gopher) direct from NAG's own 
  286. Bulletin Board thus:
  287.  
  288. gopher nags2.nag.co.uk 70
  289.  
  290. Product:  NAGware Fortran 90 Compiler
  291. Descript: Compiles f90 code to C source, or directly to executable
  292.           file under MS-DOS. Therefore requires native C compiler
  293.           as back end on most platforms.
  294. Platform: Apollo DN10000, DECstations, HP 9000, IBM RS/6000, NeXT,
  295.           Intel 386/486 (MSDOS), Sun 3, Sun 4 (SunOS 4.1)
  296.           VAX/VMS forthcoming.
  297. Pricing:  Varies with platform. Academic Pricing available. Site
  298.           licenses are  available
  299.  +------------------------------------------------------------+
  300.  |                    NAGWare F90 Compiler                    |
  301.  +------------------------------------------------------------+
  302.  |          License Fee Options for Initial Computer          |
  303.  +------------------------------------------------------------+
  304.  |        |         Standard        |         Academic        |
  305.  +--------+-------------------------+-------------------------+
  306.  |        |  Perpetual|  Maintenance|  Perpetual|  Maintenance|
  307.  |        |     Fee   |      Fee    |     Fee   |      Fee    |
  308.  +--------+-----------+-------------+-----------+-------------+
  309.  | CLASS 1|      $895 |      $160   |      $537 |       $97   | (MSDOS)
  310.  +--------+-----------+-------------+-------------------------+
  311.  | CLASS 2|    $1,495 |      $270   |      $897 |      $162   | (Low end work-
  312.  +--------+-----------+-------------+-----------+-------------+ stations)
  313.  | CLASS 3|    $1,995 |      $360   |    $1,197 |      $215   |
  314.  +--------+-----------+-------------+-----------+-------------+
  315.  | CLASS 4|    $2,495 |      $450   |    $1,497 |      $270   | (Server class
  316.  +--------+-----------+-------------+-----------+-------------+ computers)
  317.  | CLASS 5|    $3,295 |      $594   |    $1,977 |      $356   |
  318.  +--------+-----------+-------------+-----------+-------------+
  319.  | CLASS 6|    $4,295 |      $774   |    $2,577 |      $464   |
  320.  +--------+-----------+-------------+-----------+-------------+
  321.  | CLASS 7|    $5,295 |      $945   |    $3,177 |      $572   |
  322.  +--------+-----------+-------------+-----------+-------------+
  323.           (US Dollars)
  324. Contact:  Sheila Caswell, Account Manager,
  325.           Numerical Algorithms Group, Inc.
  326.  
  327.           1400 Opus Place, Suite 200
  328.           Downers Grove, IL, USA
  329.           60515-5702
  330. Phone:    (708) 971-2337
  331. Source:   E-mail messages, postings, and paper mailing
  332. ------------------------------------------------------------------------------
  333.  
  334. Product:  VAST-90
  335. Descript: Compiles Fortran 90 to Fortran 77 source (requires native 
  336.           Fortran 77 compiler).  Also converts Fortran 77 to Fortran 90.  
  337. Platform: Sun, IBM RS/6000, HP, DEC, Convex, Cray Research.
  338. Pricing:  Single system: starts at $1250 for Unix workstations; higher 
  339.       prices for larger machines.  Academic discount is 10%.  Volume 
  340.       discount and site license are also available.  Included: 
  341.           VAST-90, f90 driver, f90 library and documentation.
  342. Contact:
  343. Pacific-Sierra Research Corp.               Switchboard:   (310) 314-2300
  344. 2901 28th Street                            Fax:           (310) 314-2323
  345. Santa Monica  CA  90405                     VAST-90 e-mail: info@psrv.com
  346. ------------------------------------------------------------------------------
  347. Product:  PF90 Version 2.0
  348. Descript: Converts f90 programs to f77, then compiles with native
  349.           f77 compiler. Therefore native f77 compiler is required.
  350. Platform: Sun 4, IBM RS/6000, Silicon Graphics, DECstations, Convex,
  351.           Alliant, IBM 3090 (AIX), Cray
  352. Pricing:  $595 any platform, single copy.
  353.       Also available are special site licenses for Universities at
  354.       only $2000 ($3000 outside the US). This license includes
  355.       binaries for all platforms that ParaSoft currently supports.
  356.       Similar license are also available for goverment and
  357.       commercial sites.  
  358.  
  359. Contact:  ParaSoft Corporation
  360.           2500 E. Foothill Blvd
  361.           Pasadena, CA 91107
  362. Phone:    (818) 792-9941
  363. E-mail:   f90-info@parasoft.com
  364. Source:   E-mail messages, and PostScript advertisement
  365. ------------------------------------------------------------------------------
  366. Product:   PV version 1.1 of Fortran 90 compiler
  367. Descript:  Port of NAG's f90 compiler to MS-DOS, together with Salford
  368.            Software Ltd.
  369. Platform:  Intel 386/486 Computers
  370. Pricing:   $1950.00 (single user, US currency)
  371. Contact:   OTG Systems Inc
  372. Phone:     (717) 222-9100
  373. Source:    E-mail message/summary of previous queries
  374. ------------------------------------------------------------------------------
  375. ------------------------------------------------------------------------------
  376.  
  377. I wish to thank the following people for their help, and apologize to any
  378. which I have missed.
  379.  
  380. psrv!bob@uu.psi.com
  381. naginc!caswell@sunbird.Central.Sun.COM
  382. malcolm@nag.co.uk
  383. roman@parasoft.com
  384. khb@chiba.Eng.Sun.COM
  385. METCALF@crnvma.cern.ch
  386. ----------------------------------------------------------------------------
  387. Ian MacPhedran, Engineering Computer Centre, University of Saskatchewan.
  388. 2B13 Engineering Building, U. of S. Campus, Saskatoon, Sask., CANADA S7N 0W0
  389. macphed@dvinci.USask.CA  macphedran@sask.USask.CA
  390.  
  391. Walt Brainerd                walt@netcom.com:
  392.  
  393. Yes, a Fortran 90 system can be had for $134.
  394.  
  395. Salford FTN90 is a full PC Fortran 90 implementation based
  396. on the front end developed by the Numerical Algorithms
  397. Group, Ltd.  The Entry Level system requires that all
  398. parts of a program reside in one file (except those that
  399. are brought in with an INCLUDE line).  That file
  400. is compiled and executed without producing a permanent
  401. executable file.
  402.  
  403. It runs on a 386SX, 386DX, or 486 system with DOS 3.3
  404. or later.
  405.  
  406. Contact Unicomp for ordering information in North America.
  407. +1-415-949-4052   4058 (fax)
  408.  
  409. To find out the price and how to get it outside of North
  410. America, contact Salford Software, Venables Building,
  411. 5 Cockcroft Road, Salford, M5 4NT, United Kingdom,
  412. +44 61 745 5678, +44 61 745 5666 (fax).
  413.  
  414. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  415.  
  416. Media:      Steve Conway 612/683-7133
  417. Financial:  Bill Gacki 612/683-7372
  418.  
  419. CRAY RESEARCH ANNOUNCES FIRST COMPLETE FORTRAN 90 IMPLEMENTATION FOR
  420. SUPERCOMPUTERS
  421.  
  422. Cray Fortran 90-Based Products Will Also Be Marketed For PCs, Workstations,
  423. Servers
  424.  
  425. PORTLAND, Ore., Nov. 15, 1993 -- At the Supercomputing 93
  426. conference held here this week, Cray Research, Inc. (NYSE:CYR)
  427. announced the Cray Fortran 90 (CF90) Programming Environment,
  428. calling it the first native, complete implementation for supercomputers of
  429. the Fortran 90 standard.  The company said products based on the CF90
  430. Programming Environment will also be marketed for leading personal
  431. computers, workstation products and servers.  "Our goal is for the CF90
  432. Programming Environment to become an industry standard,"  said Cray
  433. ....
  434. The CF90 Programming Environment will be available for Cray
  435. Research's complete line of parallel vector supercomputers by year-end
  436. 1993.  Support for the company's CRAY T3D massively parallel
  437. processing (MPP) systems is planned for the second release of the
  438. CF90 Programming Environment, due out about a year from now, she
  439. said.
  440. ...
  441. Under the company's new CraySoft initiative, Cray-compatible, CF90-
  442. based products for SPARC-based workstations and servers, including
  443. Sun products and the recently announced CRAY SUPERSERVER 6400
  444. series from subsidiary Cray Research Superservers, are slated for
  445. availability by mid-1994, according to CraySoft manager Leary Gates. 
  446. Versions will also be developed for other leading workstation products. 
  447. ...
  448. CraySoft will also oversee Cray Research's previously announced
  449. agreement calling for Absoft Corp., Rochester Hills, Mich., to develop and
  450. market Cray-compatible versions of the CF90 compiler for personal
  451. computers based on Intel 486 and Pentium processors, as well as the
  452. forthcoming series of PowerPC-based Macintoshes, by mid-1994, he
  453. said. 
  454. ....
  455. CRAY RESEARCH, VISUAL NUMERICS SIGN JOINT TECHNOLOGY AND DISTRIBUTION
  456. AGREEMENT FOR FORTRAN 90 SOFTWARE PRODUCTS
  457.  
  458. PORTLAND, Ore., Nov. 16, 1993 -- Cray Research, Inc., and Visual Numerics,
  459. Inc., today announced at Supercomputing 93 an agreement to cooperate in the
  460. development and marketing of leading Fortran 90 technologies.
  461. ...
  462.  
  463. DEC Fortran 90 V1.0 for DEC OSF/1 AXP Systems
  464.  
  465. HIGHLIGHTS
  466.  
  467. o  New ANSI and ISO compliant Fortran 90 compiler for DEC OSF/1 AXP systems
  468. o  Enhanced DEC Fortran and DEC Fortran 90 debugger support
  469. o  Supports High Performance Fortran syntax for parallel processing
  470.  
  471. ....
  472.  
  473. Digital's response to the new Fortran 90 standard and the HPF extensions is 
  474. a new product called DEC Fortran 90 (SPD 46.41), a member of the DEC Fortran 
  475. family of COHESION compilers. DEC Fortran 90 is a full featured optimizing 
  476. compiler ....
  477.  
  478. DEC Fortran 90 provides an expanded array of language features, such as the 
  479. FORALL statement, many array operations (including the ability to handle 
  480. arrays by using a concise notation), modules, and numeric computation 
  481. facilities. Other new features include user defined data types, pointers, 
  482. new control constructs, and many new intrinsic procedures. 
  483.  
  484. ....
  485. DEC Fortran 90 will be platform independent, though initially available only 
  486. on DEC OSF/1 AXP systems. These systems will include Alpha AXP workstations, 
  487. worksystem farms, and shared memory systems running the DEC OSF/1 operating 
  488. system. It will generate code to run in serial mode on a single processor or 
  489. in parallel across multiple processors. It will complement DEC Fortran, 
  490. Digital's existing Fortran 77 family of products, and in fact, DEC Fortran 
  491. 90 and DEC Fortran will share the same Fortran runtime libraries. Programs 
  492. can be written in either language and can call programs written in the other 
  493. language.   
  494. ...
  495.  
  496. AVAILABILITY AND ORDERING
  497.  
  498. DEC Fortran 90 V1.0 will be available in June 1994 under QL order numbers. 
  499. It will also be available as a component of the Digital High Performance 
  500. Fortran 90 package, which will be available for a limited time at a reduced 
  501. price. The package will contain one each of a DEC Fortran 90 Concurrent Use 
  502. license, DEC Fortran 90 documentation, a Digital Parallel Software 
  503. Environment (PSE) capacity license, and Digital PSE documentation. 
  504.  
  505. Order No.            Description                                            
  506.  
  507.                      DEC Fortran 90 V1.0 Licenses and Packages:
  508. QL-2AS*M-3B/3C/3D    DEC Fortran 90 for DEC OSF/1 AXP, 1/5/10 Concurrent Use 
  509.                      licenses                                               
  510. QL-2AS*9-AA          DEC Fortran 90 for DEC OSF/1 AXP, Traditional license 
  511.                      (all tiers)                                            
  512. QA-2AS*A-GZ          DEC Fortran 90 for DEC OSF/1 AXP, documentation only   
  513. QA-054*A-H8          DEC OSF/1 AXP Consolidated CDROM                       
  514. QB-2W5*A-A*          High Performance Fortran 90 license packages           
  515. ...
  516. TECHNICAL DATA
  517.  
  518. DEC Fortran 90 is fully compliant with ANSI X3.198-1992 and ISO/IEC 
  519. 1539:1991(E). It also supports many, though not all, DEC Fortran extensions 
  520. of the Fortran 77 standard. 
  521.  
  522. Support for the High Performance Fortran Specification is complete with two 
  523. exceptions. The first release of DEC Fortran 90 will not support dynamic 
  524. mapping at other than procedure boundaries (the REALIGN and REDISTRIBUTE 
  525. directives, and transcriptive parameter passage), and the nesting of FORALL 
  526. and WHERE statements in FORALL statements and constructs. 
  527.  
  528. ...
  529. DEC Fortran 90 requires DEC OSF/1 V2.0 or later and requires either the DEC 
  530. OSF/1 C Developers' Extension or the DEC OSF/1 Developers' Toolkit to be on 
  531. the development system. The Digital Parallel Software Environment requires 
  532. DEC OSF/1 V3.0. 
  533.  
  534. TECHNOLOGY LICENSING OF DEC Fortran 90 COMPILER FRONT END
  535.  
  536. Because of the large software engineering investment required, hardware 
  537. vendors may find it difficult to support Fortran 90 on modern RISC and 
  538. parallel hardware platforms, while researchers may find it difficult to 
  539. develop compiling strategies for it.
  540.  
  541. To facilitate a common language environment across multiple vendor 
  542. platforms, Digital is making available the object and source code of the DEC 
  543. Fortran 90 compiler front end, and related technology, to selected compiler 
  544. developers, computer hardware vendors (including partners and competitors), 
  545. and computer researchers on a case-by-case basis subject to terms of a 
  546. negotiated technology licensing agreement.
  547.  
  548. The DEC Fortran 90 compiler front end analyzes programs written in the DEC 
  549. Fortran 90 language, diagnoses and reports errors, and translates programs 
  550. into an internal form suitable for additional processing. Its licensing will 
  551. provide the following benefits:
  552.  
  553. o  End users will benefit from the portability of applications and from 
  554.    increased standardization across multiple vendors and multiple hardware 
  555.    architectures, both serial and parallel.
  556.  
  557. o  Compiler developers will benefit from the decrease in the software 
  558.    engineering required to produce a product compiler for Fortran 90.
  559.  
  560. o  University computer science compiler researchers will benefit from the 
  561.    ability to use a product-quality component in their research, allowing 
  562.    them to spend more effort on the direct area of their research.
  563.  
  564. __________
  565. OSF/1 is a registered trademark of the Open Software Foundation, Inc.
  566. -- 
  567.  
  568. From: lionel@quark.enet.dec.com (Steve Lionel)
  569. Newsgroups: comp.lang.fortran,comp.unix.osf.osf1
  570. Subject: DEC Fortran 90 for DEC OSF/1 AXP submitted to manufacturing
  571. Date: 10 Jun 1994 17:34:26 GMT
  572. Organization: Digital Equipment Corporation, Nashua NH
  573. Reply-To: lionel@quark.enet.dec.com (Steve Lionel)
  574.  
  575.  
  576. DEC Fortran 90 V1.0 for DEC OSF/1 AXP (Digital's UNIX), the first in a family 
  577. of high-quality, high-performance, full language compilers for Fortran 90, was 
  578. submitted to manufacturing yesterday, ahead of schedule.  We expect shipments 
  579. to begin on June 27.  It can be ordered now.
  580.  
  581. DEC Fortran 90 also includes support for High Performance Fortran, including
  582. the FORALL statement, directives, "extrinsic" procedures and the HPF library.
  583. With the optional Digital Parallel Software Environment, Fortran 90 applications
  584. can be automatically "decomposed" and run in parallel on DEC OSF/1 AXP 
  585. symmetric multiprocessor systems or across a workstation farm.  (The PSE is
  586. planned for release later this summer.)
  587.  
  588. If you maintain a FAQ or other list of Fortran 90 implementations,
  589. please add DEC Fortran 90.  If you need specific details for your list,
  590. let me know.
  591. -- 
  592.  
  593. Steve Lionel                      Mail: lionel@quark.enet.dec.com
  594. SDT Languages Group               WWW:  http://www.digital.com/info/slionel.html
  595. Digital Equipment Corporation     
  596. 110 Spit Brook Road, ZKO2-3/N30
  597. Nashua, NH 03062-2698             "Free advice is worth every cent"
  598.  
  599.  
  600. Q3) I have heard of fortran "lints" what are they, and where can
  601.    I get one?
  602.  
  603.    Fortran compilers are not required (and most do not) to protect
  604.    users from themselves, that is to say
  605.  
  606.      call sub(1)
  607.      ...
  608.      subroutine sub(i)
  609.      i=i+10
  610.      return
  611.      end
  612.  
  613.    Is non-standard complying but the compiler need not tell you about
  614.    it. Arguably worse, the compiler can produce any result it deems
  615.    fit, up to and including the start of world war III (assuming the
  616.    right optional hardware has been installed).
  617.  
  618.    Fortran lint programs focus on searching out programming
  619.    errors (or likely errors) and alerting the user.
  620.  
  621.    There are a wide variety of commercial and pd products. A partial
  622.    list follows:
  623.  
  624.    IPT FORTRAN lint 1096 East Meadow Circle, Palo Alto, CA 94303, 415/494-7500.
  625.  
  626.    Forwarn from quibus 719 527 1384.
  627.  
  628.    QA-FORTRAN from PRL UK 44 372 4621 30 fax 44 372 468353
  629.     and *perhaps*  (817) 589 0949
  630.  
  631.    FORCHECK from Leiden University ND 31 71 276804
  632. "    Announcing: The demo of FORCHECK a Fortran development tool.
  633.  
  634.     The MS-Windows (or WABI) based demo of FORCHECK, a Fortran development
  635.     tool, is now available via anonymous FTP from simtel as
  636.          pub/msdos/fortran/fckdemo1.zip
  637.     If you are a Fortran programmer it will be a great asset in developing
  638.     portable and reliable code.
  639.  
  640.     Leiden University
  641.     email: forchk@Rullf2.LeidenUniv.NL
  642. "
  643. Actually contrary to the posters claim, this isn't a demo, its a
  644. hypertext file. Useful, helpful, but not a demo in the usual sense of
  645. the word ;> <khb>
  646.  
  647.    FTNCHEK from netlib. One may receive FTNCHEK by mailing to
  648.    netlib@ornl.gov the following message:
  649.  
  650.     send ftnchek from fortran
  651.  
  652.     And Ajay Shah, (213)749-8133, ajayshah@usc.edu
  653.     You may want to mention f2c followed by an ANSI C compiler as a great
  654.     free fortran lint. I could not have survived writing fortran if it
  655.     were not for f2c.  You need to know some C to deal with the error
  656.     messages, but that's not a bad price to pay.
  657.  
  658.  
  659. From: atae@spva.ph.ic.ac.uk (Ata Etemadi)...
  660. A very kind soul who wishes to remain anonymous sent me the answer below. 
  661. ....
  662. 1.  There is a prettyprinter (called TIDY) available via FTP from simtel20.  
  663.     It's in PD2:MSDOS.FORTRAN or some directory with a similar name.
  664.     Capsule review:  does an ok job, sometimes has trouble with
  665.     newer extensions (and even some Fortran 77 standard features).
  666.     Not too bright about making good continuation-line break decisions.
  667.     Free, and available via FTP, so probably the quickest solution.
  668.     Includes source (in Fortran).
  669.     
  670. 2.  Greg Flint (afc@klaatu.cc.purdue.edu) at Purdue distributes a program 
  671.     called CLEAN77.  Pretty good (higher quality than #1 above), also free,
  672.     but must be obtained from Purdue (not available via FTP, not 
  673.     redistributable).  Available for assorted systems: PC, UNIX, etc.
  674.     In Fortran, comes with source.
  675.  
  676. 3.  There is an excellent prettyprinter in TOOLPACK - probably has
  677.     more options than any other.  Has trouble with extensions, such
  678.     as long variable names.  Free, comes in source form, in Fortran.
  679.     TOOLPACK as a whole is pretty huge, and requires some work to
  680.     install, but it might be worth it if you stick to pretty much
  681.     standard Fortran.  Available by FTP from Los Alamos (lanl.gov,
  682.     directory pub/toolpack/NAG).  Also distributed commercially for 
  683.     a fee by NAG, who may have a new, improved version that is better 
  684.     than the free one - I don't really know.
  685.  
  686. 4.  SPAG, sold by OTG Systems (about $1000 for MS-DOS, more for Unix).
  687.     Its main function is to restructure GOTOs into IF-THEN-ELSEs, but
  688.     it also prettyprints.  (I think they renamed this within the past
  689.     year).
  690.  
  691. 5.  FOR-STRUCT, sold by Cobalt Blue.  Also a GOTO restructurer that
  692.     prettyprints.  About $700 for MS-DOS.  Available from most of the
  693.     big PC software dealers (Programmer's Paradise, etc...)
  694.     (They now have a "budget" version that costs about $250 but has
  695.     program-size limitations.)
  696.  
  697. 6.  PRETTY, sold by Quibus Enterprises, Inc.  Restructures GOTOs, also 
  698.     indents, relabels, moves Formats, etc. $149 for MS-DOS, $500 for Unix 
  699.     workstations.  Call (719) 527-1384 for more info.
  700.  
  701.  
  702. From: "John D. McCalpin" <mccalpin@perelandra.cms.udel.edu>
  703. Not too many people use it, but you might want to add TOOLPACK to
  704. the list of FORTRAN "lint" packages.  Here is the blurb that I
  705. send to people who are interested:
  706.  
  707. ======================================================================
  708. TOOLPACK is a large set of utilities written in FORTRAN to do FORTRAN
  709. code analysis and transformation.
  710.  
  711. TOOLPACK begins by actually parsing the program with a fully FORTRAN-
  712. compliant parser and then does all the code transformations on the
  713. parse and comment trees.
  714.  
  715. This means that you cannot confuse TOOLPACK by silly FORTRAN-isms that
  716. can easily overwhelm more naive utilities (such as ftnchek).  For
  717. example, TOOLPACK correctly handles statements such as:
  718.  
  719.       D O U B L E  P R E C I S I O N   A(100,100)
  720.       doubleprecision fred
  721.  
  722.       DO I = 1.2
  723.       READ(I,J) = 10.
  724.  
  725.  
  726. The usual interface to TOOLPACK is a set of 'csh' scripts that run the
  727. various TOOLPACK utilities to do specific tasks.
  728.  
  729. The ones you will find most useful are: pol, polx, apt, dapt, decs, 
  730. getlst, and discard.   These are the prettyprinter, precision converter,
  731. declaration standardizer, and some necessary utilities.  See below for
  732. more details.
  733.  
  734. By aware that TOOLPACK is *very* rigorous about the FORTRAN-77
  735. standard.  You may or may not consider this an advantage.
  736.  
  737. The scripts are described by the 'scripts' script, which delivers the
  738. following:
  739. ----------------------------------------------------------------------------
  740. In the Toolpack script summaries below, the section numbers refer to
  741. the Unix environment Users' Guide where more detailed information can
  742. be found.  To obtain on-line information about a script's usage, type
  743. its name without any arguments.
  744.  
  745. FORTRAN Analysis Facilities
  746.  
  747.   getlst  Produce a listing showing statement and token numbers. Report
  748.           lexical scanning warnings and errors. (3.1.1)
  749.  
  750.   syn     Report errors and warnings detected by lexical scanning, parsing,
  751.           and examining a set of symbol attributes. (3.1.2)
  752.  
  753.   sem     Report errors and warnings detected by lexical scanning, parsing,
  754.           and examining an extended set of symbol attributes. (3.1.3)
  755.  
  756.   pfort   Report errors and warnings detected by lexical scanning, parsing,
  757.           examining an extended set of symbol attributes, checking for unsafe
  758.           references, and checking conformance to a portable subset of
  759.           FORTRAN. (3.1.4)
  760.  
  761.   statdoc In a user-supplied report template, place information derived from
  762.           static analysis to assist in documenting the program.  Examples of
  763.           information the user may request are COMMON block usage, symbol
  764.           attributes, and a graph of subprogram calls. (3.1.5)
  765.  
  766.   inst    Instrument a FORTRAN program so that the instrumented program, when
  767.           executed, produces information about program execution. (3.2.1)
  768.  
  769.   rundoc  Execute a program instrumented by inst and, in a user-supplied
  770.           report template, place information derived from dynamic analysis
  771.           to assist in documenting the program.  For example, the user may
  772.           determine the frequency of execution of program segments. (3.2.2)
  773.  
  774. FORTRAN Transformation Facilities
  775.  
  776.   pol     Format a FORTRAN program under control of user-supplied options
  777.           in a Polish option file. (4.1.1)
  778.  
  779.   polx    Construct a Polish option file via a menu-driven editor. (4.1.2)
  780.  
  781.   decs    Rebuild the declarative part of a FORTRAN program. (4.2.1)
  782.  
  783.   apt     Transform a single-precision version of a FORTRAN program to
  784.           double precision or vice versa. (4.3.1)
  785.  
  786.   dapt    Convert precision and rebuild the declarations, combining the
  787.           functions of apt and decs. (4.3.2)
  788.  
  789.   cname   Change the names in a FORTRAN program that satisfy conditions
  790.           derived from information in either the lexical token stream or
  791.           the symbol table or both. (4.4.1)
  792.  
  793.   lname   Transform a FORTRAN program containing long names to a program
  794.           with standard names. (4.4.2)
  795.  
  796.   stf     Rebuild the flow of control in a FORTRAN program to standardized
  797.           form. (4.5.1)
  798.  
  799.   ucs     Transform nests of DO loops matching certain paradigms so that
  800.           the transformed code executes more efficiently on vector machines.
  801.           (4.6.1)
  802.  
  803. Miscellaneous Facilities
  804.  
  805.   fdiff   Compare two FORTRAN programs at the lexical token level. (5.1.1)
  806.  
  807.   dac     Compare two data files, neglecting certain formatting differences
  808.           and numerical differences smaller than a given tolerance. (5.1.2)
  809.  
  810.   vcon    Create, edit, and retrieve versions of a file contained in a
  811.           version file. (5.2.1)
  812.  
  813.   discard Remove unneeded files created by the above scripts. (5.3.1)
  814.  
  815.   scripts Print this summary of the scripts. (5.4.1)
  816.  
  817. ----------------------------------------------------------------------------
  818.  
  819. TOOLPACK can be obtained by anonymous ftp from perelandra.cms.udel.edu
  820. in the directory pub/Lang/Toolpack/.
  821. The UNIX version is in the file toolpack.tar.Z
  822. Serious hackers will want the versions in the Distrib directory.
  823.  
  824. The package is known to compile on Silicon Graphics and Sun machines,
  825. though the Makefile is reasonably braindamaged.
  826.  
  827. You will need about 16 MB for the stripped executables on an SGI machine.
  828. Figure on double that for compiling the package.....
  829.  
  830. Have fun!
  831. --
  832. John D. McCalpin            mccalpin@perelandra.cms.udel.edu
  833. Assistant Professor            mccalpin@brahms.udel.edu
  834. College of Marine Studies, U. Del.    John.McCalpin@mvs.udel.edu
  835.  
  836. Aside from code reformatting, there is the other meaning of pretty
  837. printing ...  
  838.  
  839. From: James F Hall <james.f.hall@uwrf.edu>
  840. ....
  841.  
  842. Second, on Q12 in the faq, about available pretty printers for
  843. Fortran...  Some time ago, I found a pretty printer called "lgrind",
  844. which converted a Fortran program into LaTeX/TeX.  This text could be
  845. included in a larger LaTeX/TeX file, or processed immediately.  I
  846. chose not to use this because I found it was not the best use of my
  847. quota, but others may find it useful.
  848.  
  849. Lgrind may be found using an archie search:
  850.     archie lgrind
  851. ;;;;
  852. Q4) "Why do people use FORTRAN?, C is so much better"
  853.  
  854.    One should avoid such pointless arguments .... if you feel this
  855.    way, don't subscribe to comp.lang.fortran.
  856.  
  857.    This sort of question always triggers off a protracted discussion,
  858.    the highlights of which are typically:
  859.  
  860.        a) FORTRAN and C have different semantics. A FORTRAN optimizer
  861.       knows more about aliasing, function interactions, and I/O. A
  862.       C optimizer has to infer or compute such information. C
  863.       bigots typically have neither written such optimizers nor
  864.       worked with folks who do it for a living, and are prone to
  865.       dismiss such arguments as being petty and neolithic.
  866.  
  867.       FORTRAN programmers are often a bit more in touch with high
  868.       performance computing, and are unwilling to bet that heavily
  869.       on compiler wizardry. 
  870.  
  871. <enter Peter van der Linden author of "Expert C Programming" >
  872.  
  873.           In addition, ANSI C section 2.1.2.3 on Program Execution
  874.       makes it clear that associative and commutative regrouping
  875.       of operands is only allowed if it produces the same result
  876.       as it would if the regrouping had not been done.  Where it
  877.       makes a difference is on hardware that produces an exception
  878.       on arithmetic overflow, and the regrouping either causes or
  879.       avoids an exception, that otherwise would not/would take
  880.       place.  In ANSI C 
  881.  
  882.       a = a + 32760 + b   MUST be evaluated as  (a + 32760) + b
  883.                                         NOT as   a +(32760  + b)
  884.                                  UNLESS the overflow exception will be
  885.       the same in either case.
  886.  
  887.           Fortran is somewhat less tightly-buttoned about this, and
  888.       allows the compiler-writer to regroup the expression and
  889.       evaluate it in either order. Thus, in Fortran, whether you
  890.       get an exception or not depends on the compiler, the level
  891.       of optimization, and the hardware.  In ANSI C, itonly
  892.       depends on the hardware.
  893.  
  894.  
  895.       Of course, compiler options, vendor extensions and the like
  896.       sometimes narrow the difference. Also, some Fortran
  897.       compilers do not take advantage of all of these features of
  898.       the language, thus narrowing the gap in the other direction.
  899.  
  900.       On any given code, on any given system, all bets are off.
  901.  
  902.       b)  There is a vast body of existing FORTRAN code (much of which
  903.       is publically available and of high quality). Numerical
  904.       codes are particularly difficult to "vet", scientific
  905.       establishments usually do not have large otherwise idle
  906.       programming staffs, etc.  so massive recoding into any new
  907.       language is typically resisted quite strongly.
  908.  
  909.       c)  Fortran tends to meet some of the needs of scientists
  910.       better.  Most notably, it has built in support for:
  911.         - variable dimension array arguments in subroutines
  912.         - a compiler-supported infix exponentiation operator which
  913.           is generic with respect to both precision and type,
  914.           *and* which is generally handled very efficiently  or
  915.           the commonly occuring special case floating-point**small-integer
  916.         - complex arithmetic
  917.         - generic-precision intrinsic functions
  918.  
  919.       d)  Retraining staff is quite expensive.
  920.  
  921.       e)  It is sometimes argued that: 
  922. - Jonathan Thornburg <also responsible for misc. other fixups>
  923.     Fortran tends to be easier for non-experts to learn
  924.     than C, because its "mental model of the computer" is
  925.     much simpler.  For example, in Fortran the programmer
  926.     can generally avoid learning about pointers and memory
  927.     addresses, while these are essential in C.  More generally,
  928.     in Fortran the difference between (C notation) x, &x,
  929.     and often even *x is basically hidden, while in C it's
  930.     exposed.  For non-experts this makes Fortran a considerably
  931.     simpler language.
  932.  
  933.     Because of this relative simplicity, for simple programming
  934.     tasks which fall within its domain, (say writing a simple
  935.     least-squares fitting routine), Fortran generally requires
  936.     much less computer science knowledge of the programmer than
  937.     C does, and is thus much easier to use.
  938.  
  939.      
  940. Q5)  Why can't I get an electronic version of the standard?
  941.  
  942.     Someday, perhaps you can. However, at the moment the various
  943.     standards bodies finance some fraction of their work via sales of
  944.     standards documents. ISO and ANSI have both claimed copyright to
  945.     the finished standard, so those who would make and distribute
  946.     copies should be forewarned.
  947.  
  948.     It should be noted that various people are working to correct
  949.     this; but it is unlikely to ever become free.
  950.  
  951. Q6) Where can I get "foo" (some random package)
  952.  
  953. Q6) Where can I get "foo" (some random package)
  954.         contributed by:
  955.                 Marc R. Roussel
  956.                                 mroussel@alchemy.chem.utoronto.ca
  957.  
  958.     Use archie. archie is an online database of what is available and
  959.     where on the "net". Archie can be used either via telnet or by
  960.     mail. 
  961.     
  962.     For information about archie send 
  963.  
  964.     mail archie@archie.rutgers.edu
  965.     subject: help
  966.  
  967.     And you will get back copious directions on how to use archie.  If
  968.     you prefer interactive experimentation, telnet to
  969.     archie.rutgers.edu and log in as archie.  No password will be
  970.     required.  The first thing you will be shown is a list of other
  971.     archie servers.  If one of these servers is geographically much
  972.     closer to you than Rutgers, NJ, please disconnect (by typing 'quit')
  973.     and use that one.  To save you this step, here is the latest list of
  974.     archie sites:
  975.  
  976.     archie.rutgers.edu     128.6.18.15     (Rutgers University)
  977.     archie.unl.edu     129.93.1.14     (University of Nebraska in Lincoln)
  978.     archie.sura.net     128.167.254.179 (SURAnet archie server)
  979.     archie.ans.net     147.225.1.2     (ANS archie server)
  980.     archie.au         139.130.4.6     (Australian server)
  981.     archie.funet.fi     128.214.6.100     (European server in Finland)
  982.     archie.doc.ic.ac.uk  146.169.11.3     (UK/England server)
  983.     archie.cs.huji.ac.il 132.65.6.15     (Israel server)
  984.     archie.wide.ad.jp     133.4.3.6     (Japanese server)
  985.  
  986.     I believe that all of these servers run the mail server as well as
  987.     the telnet and archie server software.  (The archie server is a
  988.     third way to use archie.  It's probably the best way, but it
  989.     requires that you install software.)
  990.  
  991.     Once you logged into an archie server, you will want to make
  992.     sure that all the information you will retrieve will be mailed to
  993.     you.  Type
  994.  
  995.     set mailto userid@machine.foo.edu
  996.  
  997.     where, of course, you will substitute your own email address for the
  998.     made-up one shown above.  You are now ready to search the database.
  999.     If at any time you want to know what options are available to you,
  1000.     type help.  To search for a program or file, type
  1001.  
  1002.     prog foo
  1003.  
  1004.     where foo is the name of the program or file required.  Once your
  1005.     search is done, type 'mail' to have the output sent to you.  (The
  1006.     output will almost always be several pages long.)  Then type 'quit' to
  1007.     exit.
  1008.  
  1009. Q7)  Where can I get a free compiler?
  1010.  
  1011.     One such is f2c.
  1012.  
  1013. From: mwm@a.gp.cs.cmu.edu (Mark Maimone)
  1014. Newsgroups: comp.lang.fortran,comp.lang.c
  1015. Subject: Re: Fortran to C translator
  1016. Keywords: fortran, C, translator, f2c
  1017. Date: 13 Sep 90 01:43:30 GMT
  1018. Organization: Carnegie-Mellon University, CS/RI
  1019.  
  1020.  
  1021.     Since there have been several requests for a Fortran to C translator
  1022. in the past week, I'm reposting the announcement about f2c.  The short
  1023. answer is you can get f2c by anonymous-ftp from research.att.com in
  1024. directory dist/f2c.
  1025.  
  1026. ------------------------------------------------------------------------------
  1027.  
  1028.     Source for f2c, a Fortran 77 to C translator jointly developed by
  1029. folks from Bell Labs, Bellcore, and Carnegie Mellon, is now freely
  1030. available.
  1031.  
  1032.     F2c was derived from the original UNIX operating system's f77(1),
  1033. and the generated C follows f77's calling conventions; on some machines, the
  1034. resulting object files are interchangeable with (and behave
  1035. indistinguishably from) objects compiled by f77.  The main "advantage" of
  1036. f2c is that it converts ANSI standard Fortran 77 into C without manual
  1037. intervention, at least when invoked by a suitable script or makefile (that
  1038. may need to exercise an f2c option to ensure that COMMON blocks are defined
  1039. just once).  The main "problems" are that f2c does no code restructuring
  1040. (e.g., gotos are preserved) and that Fortran I/O gets converted into a bunch
  1041. of calls; thus the translated C code doesn't look too pretty, and in general
  1042. one would need to maintain the Fortran rather than its translation into C.
  1043. [F2c is not meant to displace the services of commercial vendors whose
  1044. business is to convert Fortran into maintainable C.]
  1045.  
  1046.     There is a plethora of options, many of which exist to support
  1047. different compilation environments for the translated C (e.g., ANSI C or C++
  1048. compatibility, different type sizes, separate files for COMMON blocks to
  1049. appease "smart" linkers).  So far f2c (and f2c-generated source) has
  1050. compiled successfully on many machines:  Sun, Vax, IBMRT, Apollo, SGI, MIPS,
  1051. and Cray to name a few.
  1052.  
  1053.     F2c has been under test by the net community for over a year
  1054. and has been verified on the NBS tests, several large math libraries,
  1055. floating point tests, even code for laying cable on the ocean floor!
  1056.  
  1057.     To find out about f2c, send the following E-mail message to netlib
  1058. (netlib@research.att.com or research!netlib):
  1059.  
  1060.     send index from f2c
  1061.  
  1062. Your message will be answered automatically (by a program -- see CACM vol.
  1063. 30 #5 (May, 1987), pp. 403-407).  You will receive a reply explaining how to
  1064. automatically acquire f2c source (about 600K), f2c library source (130K),
  1065. and supporting info (man page, etc).  Or you can anonymous-FTP to
  1066. research.att.com and look in directory dist/f2c at these files:
  1067.  
  1068.     all.Z -- 250K compressed shar file for f2c
  1069.     f2c.ps.Z -- 24 page tech report describing f2c
  1070.     index -- general info about files
  1071.     libf77.Z, libi77.Z -- compressed shar files for libraries
  1072.  
  1073. ****************************** DISCLAIMER ******************************
  1074.          Careful! Anything free comes with no guarantee.
  1075. ************************************************************************
  1076.  
  1077. ----------------------------------------------------------------------
  1078. Mark Maimone                phone: (412) 268 - 7698
  1079. Carnegie Mellon Computer Science    email: mwm@cs.cmu.edu
  1080.                            cmcspt!mwm@cs.cmu.edu
  1081.  
  1082. Notes: f2c accepts only fairly vanilla FORTRAN; vendor supplied f77's
  1083.        usually produce better quality code, and accept a wider variety
  1084.        of codes. 
  1085.  
  1086. The FSF is working on a f77 front end to be integrated with the gcc back end. 
  1087.  
  1088. "A mailing list exists for those interested in the Fortran front end for
  1089. GCC.  To subscribe, ask: `info-gnu-fortran-request@prep.ai.mit.edu'.
  1090. Or try "finger -l fortran@gate.gnu.ai.mit.edu"
  1091.  
  1092. There is no FSF project to do a f90 front end. The author of the gf77
  1093. front end is willing, if anyone will fund it.
  1094.  
  1095. Mike Craymer
  1096. Geodetic Survey of Canada
  1097. craymer@emr.ca
  1098. ___________________________________________________________________
  1099.  
  1100. Newsgroups: comp.lang.fortran,comp.compilers
  1101. From: wgalazka@chem.uw.edu.pl (Wojciech Galazka)
  1102. Subject: Free FORTRAN compilers - summary
  1103. Date: Wed, 26 Jan 1994 12:12:01 GMT
  1104.  
  1105. Here's a summary of postings sent in reply to my letter sent to
  1106. comp.lang.fortran about availability of a free FORTRAN compiler.
  1107. Thanks to all who responded to me.
  1108. ---------------------------------------------
  1109. From: Greg Lindahl <gl8f@fermi.clas.virginia.edu>
  1110. Subject: Re: Public Domain/Shareware version of Fortran
  1111. Newsgroups: comp.lang.fortran
  1112.  
  1113. f2c is quite free.
  1114. ---------------------------------------------
  1115. From: zrzm0111@helpdesk.rus.uni-stuttgart.de (MUFTI)
  1116. Newsgroups: comp.lang.fortran
  1117. Subject: re: CHEAP MSDOS fortran compiler: was: nocommercial users have to
  1118. pay nothing for bcf77
  1119. Organization: User Helpdesk Comp. Cent. (RUS) U of Stuttgart, FRG
  1120.  
  1121. Someone asked for a cheap MSDOS fortran compiler for students.
  1122. The bcf77 by andreas koesterli has a student version, which costs nothing.
  1123. The student version may not be used in any comercial enviroment and
  1124. problems.
  1125. Its a version that write a none standart object format and requires 640KB.
  1126. If all input is in UPPERCASE, it supports full fortran 77 standart.
  1127.  
  1128.  
  1129. The site is ftp.uni-stuttgart.de, the compiler can be found
  1130. in /pub/systems/pc/lang/fortran/compiler/bcf77.zip.
  1131. It can be access via ftpmail@ftp.uni-stuttgart.de for those of You
  1132. without ftp.
  1133.  
  1134. PI at the User Help Desk Comp.Center U of Stuttgart, FRG      26 years to go ! 
  1135. EMail: pi@rus.uni-stuttgart.de
  1136. Phone: +49 711 685-4828                (aka Kurt Jaeger)
  1137. -------------------------------------------------
  1138. From: barbee@noir.llnl.gov (Troy Barbee)
  1139. Newsgroups: comp.lang.fortran
  1140. Subject: re: CHEAP MSDOS fortran compiler: was: nocommercial users have to
  1141. pay nothing for bcf77
  1142.  
  1143. In article <1991Dec11.160531@IASTATE.EDU>, cfrandal@IASTATE.EDU (Charles
  1144. F Randall) writes:
  1145. |> Note that the .txt file for this NOT in English:
  1146. |>
  1147. |> BC-FORTRAN77 Version.b besteht aus Compiler, Linker,
  1148. |> Modulbibliothek und einem residenten Laufzeitsystem, das
  1149. |> u.a. einen einfachen Debugger enthaelt. Diese Version
  1150. |> laeuft auf einem MS-DOS Rechner mit 640kB RAM. Eine
  1151. |> Festplatte ist nicht erforderlich. Hiermit soll in
  1152. |> einfacher Weise ein Compiler fuer Programmierkurse
  1153. |> zur Verfuegung stehen. Dem kommt entgegen, dass
  1154. |> entsprechende Compiler fuer ATARI ST und AMIGA existieren.
  1155. |>
  1156. |> Anfragen nach Zusendung einer anderen oder neueren Version
  1157. |> werde ich nur noch beantworten, wenn DM 20.- (Schein oder
  1158. |> Scheck) Aufwandsentschaedigung (Diskette, Umschlag, Porto
  1159. |> und Zeit) beigefuegt sind. Ich versende ausschliesslich
  1160. |> 3 1/2 Zoll Disketten.
  1161. |>
  1162. |> Anybody willing to translate?
  1163.  
  1164. Here's a quick and dirty translation (i.e., I didn't look in
  1165. my dictionary, so the sentences in [] are just rough translations)
  1166.  
  1167. BC-FORTRAN77 Version b consists of a compiler, linker, module
  1168. library, and a resident runtime system that contains (among
  1169. other things) a simple debugger. This version runs on a MS-DOS
  1170. computer with 640KB RAM.  A hard disk is not required.
  1171. [The intent is to provide a compiler for programming courses
  1172. in a simple manner. Similar compilers exist for the ATARI ST and the
  1173. AMIGA.]
  1174.  
  1175. Requests for another or a newer version will only be answered
  1176. if they are accompanied by DM 20.- (check or cash) to defray costs
  1177. (diskette, envelope, postage, and time). I can only send 3 1/2 inch
  1178. diskettes.
  1179.  
  1180. ---------------------------------------------------------
  1181. From: pmh2962@zeus.tamu.edu (Pat Hayes)
  1182. Newsgroups: comp.lang.fortran
  1183. Subject: Re: free fortran for PC running MSDOS
  1184.  
  1185. >From Public software List (PsL), Houston, TX:  (their number 3940)
  1186.  
  1187. "BC-FORTRAN 1.3b, is a FORTRAN compiler from Germany.  The
  1188. documentation is in German.  Sample source code is included.  The compiler
  1189. generates big, inefficient EXE programs and is offered only because there
  1190. are
  1191. no other pd/shareware FORTRAN compilers available.  700K of disk space is
  1192. required."
  1193.  
  1194. --------------------------------------------------------------
  1195. From: pmh2962@zeus.tamu.edu (Pat Hayes)
  1196. Newsgroups: comp.lang.fortran
  1197. Subject: BC Fortran -- PD/Share Fort Compiler -- English Docs Available
  1198.  
  1199. Can you figure this out?  Here's info about translated docs for that
  1200. PD/SH Fort compiler I mentioned.
  1201. *******************************************
  1202. From: "DOYLECM@ROSEVC.Rose-Hulman.Edu"  3-FEB-1992 00:53:12.08
  1203. Subj: BC F77 documentation available
  1204. From: PVT Joe Snuffy <DOYLECM@ROSEVC.Rose-Hulman.Edu>
  1205.  
  1206.   I am sort of asking for your help here.  I translated the documentation
  1207. for
  1208. BC-F77 and am willing to make it available to people.  However, my
  1209. newsreader
  1210. will not let me post with distribution wider than our local site (or at
  1211. least,
  1212. that appears to be what is going on).  Could you do me a favor and post the
  1213. text that follows?  You might also tell those others who write to you that
  1214. this
  1215. translation is available.
  1216.  
  1217. Chris Doyle   DoyleCM@RoseVC.Rose-Hulman.Edu
  1218.  
  1219. Stuff to be posted starts below this line.  Adjust header/newsgroup/etc as
  1220. appropriate.  Thanks!
  1221.  
  1222. --------------------------------------------------------------------------------
  1223. Newsgroups: comp.lang.fortran
  1224. From: doylecm@HYDRA.ROSE-HULMAN.EDU
  1225. Subject: Re: free fortran for DOS PC/BCF77
  1226. Date: Mon, 3 Feb 1992 00:33:21 GMT
  1227.  
  1228. For those people who FTP this thing and want to be able to read the
  1229. documentation, I have translated the README file into English and will
  1230. let you have a copy of the translation upon request.  Translation is
  1231. about 400 lines long.
  1232.  
  1233. BCF77 (FORTRAN 77 compiler, written by Andre Koestli) distribution.
  1234. This compiler/linker/run-time module and supporting files are available
  1235. via anonymous FTP from "rusmv1.rus.uni-stuttgart.de" as the file
  1236. "/soft/pc/lang/fortran/compiler/bcf77.zip".
  1237.  
  1238. ----------------------------------------------------------
  1239. Newsgroups: comp.lang.fortran
  1240. From: burton@asdsun.larc.nasa.gov (John Burton)
  1241. Subject: Re: BC Fortran -- PD/Share Fort Compiler -- English Docs Available
  1242.  
  1243. There is another alternative...netlib@research.att.com distributes f2c
  1244. which is a translator for converting FORTRAN 77 code into C (ANSI C
  1245.  
  1246. or K&R C), or C++ (I think). There is a version of f2c that is ported
  1247. to MSDOS machines.
  1248. How fast & efficient the code is now depends on how good your C
  1249. compiler is (I hear MSC and BC++ do a pretty good job of optimization)...
  1250.  
  1251. f2c is available via anonymous ftp...ftp to research.att.com & login as
  1252. netlib.
  1253.  
  1254. -----------------------------------------------------
  1255. From: icsu8209@cs.montana.edu (Lou Glassy)
  1256. Newsgroups: comp.lang.fortran
  1257. Subject: Re: BC Fortran -- PD/Share Fort Compiler -- English Docs Available
  1258.  
  1259. In article <3FEB199217343244@zeus.tamu.edu>
  1260.                      pmh2962@zeus.tamu.edu (Pat Hayes) writes:
  1261. [comments about an english translation of the BCF77 readme.doc]
  1262. Has anyone attempted translating the error messages inside the compiler?
  1263. (This involves editing the binary.)
  1264. from the translation a friend provided for me:
  1265. "...the error messages are self-explanatory, except for the following:
  1266.   [a page or two of error messages] ..."
  1267. the self-explanatory error messages (not listed in the readme.doc)
  1268. comprise the bulk of the error messages, i think.
  1269.  
  1270. --------------------------------------------------------
  1271. >From alan@dmsmelb.mel.dms.CSIRO.AU Wed Jan 26 12:27:49 1994
  1272. Subject: Re: Public Domain/Shareware version of Fortran
  1273.  
  1274. BCF is available by ftp from many places.   For instance, it is in the
  1275. directory fortran on simtel20.    I did `archie bcf' and found it is also
  1276. in directory  /usenet/comp.archives/languages/fortran on src.doc.ic.ac.uk.
  1277.  
  1278. On simtel20 it is file:  bcf7713b.zip
  1279. You may find it has the same name elsewhere.
  1280.  
  1281. There have been many complaints about bcf - but it is free.   I recommend
  1282. Lahey's Personal Fortran PF77L to those who have been disappointed with
  1283. bcf.   I believe it costs US$99.
  1284.  
  1285. Alan Miller, Quality Improvement Project
  1286. CSIRO Division of Mathematics & Statistics, Melbourne, Australia
  1287. Phone: +61 3 542-2266   Fax: +61 3 542-2474  E-mail: alan@mel.dms.csiro.au
  1288. Mail: CSIRO DMS, Private Bag 10, Rosebank MDC, Clayton, Vic. 3169,
  1289. Australia
  1290.  
  1291.                 Wojciech Galazka
  1292. --
  1293. Wojciech Galazka <wgalazka@chem.uw.edu.pl>
  1294.    Computer Center
  1295.  Chemistry Department,  University of Warsaw
  1296.  Pasteura 1, 02-093 Warsaw, Poland
  1297.  
  1298. Q8)  What is the best compiler for a PC?
  1299.  
  1300.     There are many products, some are quite good. Few are free. 
  1301.     f2c and gcc can be had for the PC environment. Popular ones are:
  1302.  
  1303.     Lahey (very fast compilation; excellent reputation for support)
  1304.     Watcom (touted for good optimization)
  1305.     MicroWay (support for odd floating point units)
  1306.     LPI  (multi-platform support)
  1307.     MicroSoft (various good hooks into windows and such)
  1308.     Absoft (multi-platform support)
  1309.  
  1310.    It is beyond the scope of a faq to provide a commercial endorsement.
  1311.  
  1312. Q9) How does Fortran 90 relate to FORTRAN '77?
  1313.  
  1314.     With a few minor exceptions, Fortran 90 is a superset
  1315.     of X3.9-1978 FORTRAN.
  1316.  
  1317. But this does not mean that all "77" codes will port sans changes.
  1318. Many (if not most) programmers employed constructs beyond the '77
  1319. standard, or rely on unspecified behavior (say, assuming that an OPEN
  1320. of an existing file will position the file pointer to just past the
  1321. last record already written) which has changed (that is to say, has
  1322. become specified). 
  1323.  
  1324. This leads to the obvious question, what is new in Fortran 90?
  1325.  
  1326. A complete answer would require considerable text. Some of the most
  1327. obvious additions are:
  1328.  
  1329.     1) array notation (operators, etc.)
  1330.     2) dynamic memory allocation
  1331.     3) derived types and operator overloading
  1332.     4) keyword argument passing, INTENT (in, out, inout)
  1333.     5) modules
  1334.     6) modern control structures
  1335.     7) free format source code form
  1336.     8) other stuff
  1337.  
  1338. While it is always tricky to characterize the motives of a large group
  1339. of people, I <khb> am inclined to try as follows:
  1340.  
  1341.    '90 incorporates two sets of improvements: (1) relatively minor
  1342.    fixups that *could* have been done earlier (2) relatively major
  1343.    changes to enable better software engineering practices.
  1344.  
  1345. Sometimes a "minor" fixup has major effect, such as addition of free
  1346. form source form combined with canonization of the MIL-STD 1753
  1347. INCLUDE. 
  1348.  
  1349. I further go off on a limb and assert that it was the goal of the
  1350. *committee* to evolve Fortran in a fashion to enable it to continue to
  1351. be the premier language for scientific computation.
  1352.  
  1353.  
  1354. Q10) My compiler is mis-behaving; who enforces the standard?
  1355.  
  1356.     ANSI and ISO standards do not usually have a particular enforcement
  1357.     mechanism. Local bodies sometimes do. 
  1358.  
  1359.     However, it should be borne in mind that if *your* source code is
  1360.     not standard compliant there is *NO* obligation for a FORTRAN ('77
  1361.     and before) compiler to do  *ANYTHING* in particular. In Fortran (90)
  1362.     the text in "constraints" must be tested and a warning produced
  1363.     (compiler option can be used to evade this, of course).
  1364.  
  1365.     Some (notably Guy Steele, with respect to another standard) have
  1366.     noted that when non-standard complying code is encountered, a
  1367.     compiler may do *ANYTHING* including initation of Global Warfare.
  1368.     Keep this in mind.
  1369.  
  1370.     When you do find a bona fide compiler bug, you are generally best
  1371.     served by reporting it to the *vendor*. If you neglect to tell the
  1372.     vendor, how can you complain about it not being fixed?
  1373.  
  1374.     When reporting a *suspected* bug be sure to be quite specific
  1375.     about the computer system, operating system rev level (patches
  1376.     applied if known) and *compiler*version* (and patches thereof).
  1377.     It is very hard for people to read your mind; but they will try. 
  1378.     The attempts are often entertaining, sometimes helpful, but always
  1379.     an inefficient use of people-time and net-bandwidth.
  1380.  
  1381.     Also note that it is generally helpful if you cut down the example
  1382.     to the smallest size you can. Vendors are developers too; the
  1383.     tendency is invest time/money where one can get the biggest bang
  1384.     for the buck. 
  1385.     
  1386.  
  1387. Q11) What are good books on Fortran? 
  1388.  
  1389.     Don't know if they are good. Inclusion in the list is not
  1390.     endorsement.  Have misplaced name of the compiler of the 
  1391.     original list <sorry>
  1392.  
  1393.  
  1394. Author                         Title                                     Year
  1395. Morgan/Schonfelder           Programming in Fortran 90          1993
  1396. Kerrigan               Migrating to Fortran 90                  1993
  1397. Kruger                   Efficient Fortran Programming          1990
  1398. Mojena/Ageloff                 FORTRAN 77                                 1990
  1399. Metcalf/Reid                   FORTRAN 90 EXPLAINED                       1990
  1400. Boyle                          FORTRAN 77 PDQ                             1989
  1401. Bezner                         FORTRAN 77                                 1989
  1402. Tremblay                       PROGRAMMING IN FORTRAN 77                  1988
  1403. Salmon                         ... ENGINEERS & SCIENTISTS WITH FORTRAN 77 1988
  1404. Nyhoff/Leestma                 FORTRAN 77 FOR ENGINEERS & SCIENTISTS      1988
  1405. McCracken/Salmon               ... ENGINEERS & SCIENTISTS WITH FORTRAN 77 1988
  1406. Davis/Hoffman                  FORTRAN 77: A STRUCTURED DISCIPLINED STYLE 1988
  1407. Barnard/Skillicorn             FORTRAN 77 FOR ENGINEERS AND SCIENTISTS    1988
  1408. Mashaw                         PROGRAMMING STRUCTURED FORTRAN 77          1987
  1409. Cole                           FORTRAN 77: A STRUCTURED ... APPROACH      1987
  1410. Boillot                        UNDERSTANDING FORTRAN-77                   1987
  1411. Starkey/Ross                   FUNDAMENTAL PROGRAMMING WITH FORTRAN 77    1986
  1412. Rouse/Bugnitz                  INTRODUCTION TO FORTRAN 77                 1986
  1413. Ratzer                         FORTRAN 77 COURSE                          1986
  1414. Page                           FORTRAN 77 FOR HUMANS                      1986
  1415. Lehman                       ... SOCIAL SCIENCES: ALGORITHMS & FORTRAN 77 1986
  1416. Smith                          FORTRAN 77: A PROBLEM-SOLVING APPROACH     1985
  1417. Shelly                         FORTRAN 77: AN INTRODUCTION                1985
  1418. Nickerson                      FUNDAMENTALS OF FORTRAN 77 PROGRAMMING     1985
  1419. Metcalf                        EFFECTIVE FORTRAN 77                       1985
  1420. McKeown                        STRUCTURED PROGRAMMING USING FORTRAN 77    1985
  1421. Hume                           FORTRAN 77 FOR SCIENTISTS & ENGINEERS      1985
  1422. Dillman                        PROBLEM SOLVING WITH FORTRAN 77            1985
  1423. Brainerd                       FORTRAN 77 FUNDAMENTALS AND STYLE          1985
  1424. Borse                          FORTRAN 77 & NUMERICAL METHODS FOR ENGINEERS1985
  1425. Adman                          FORTRAN 77 SOLUTIONS NON-SCIENTIFIC PROBS. 1985
  1426. SSI, Inc. Staff                FORTRAN 77 REFERENCE                       1984
  1427. Etter                          PROBLEM SOLVING WITH STRUCTURED FORTRAN 77 1984
  1428. Etter                          PROBLEM SOLVING USING FORTRAN 77            ?
  1429. Dyck                           FORTRAN 77: A STRUCTURED APPROACH ...      1984
  1430. Chivers/Clark                  FORTRAN 77: A HANDS ON APPROACH            1984
  1431. Adman                          FORTRAN 77 FOR NON-SCIENTISTS              1984
  1432. Willamson/Levesque           * A GUIDEBOOK TO FORTRAN ON SUPERCOMPUTER   1989
  1433. Rule                           FORTRAN 77: A PRACTICAL APPROACH          1983
  1434. Rouse/Bugnitz                  PROGRAMMING THE IBM PC: FORTRAN 77        1983
  1435. Nyhoff/Leestma                 PROBLEM SOLVING WITH FORTRAN 77           1983
  1436. Marateck                       FORTRAN 77                                1983
  1437. Lehmnkuhl                      FORTRAN 77                                1983
  1438. Law                            ANSI FORTRAN 77: INTRO. TO SOFTWARE DESIGN 1983
  1439. Holoien/Behforooz              ... STRUCTURED PROGRAMMING WITH FORTRAN 77 1983
  1440. Grout                        FUNDAMENTAL ... PROGRAMMING USING FORTRAN 77 1983
  1441. Fleming/Redish                 THE U. S. MC MASTER GLOSSARY OF FORTRAN-77  1983
  1442. Cole                           ANSI FORTRAN IV WITH FORTRAN 77 EXTENSIONS  1983
  1443. Wu                             ANSI FORTRAN IV & 77 AND BUSINESS PROGRAMS  1982
  1444. Pollack                        STRUCTURED FORTRAN 77 PROGRAMMING           1982
  1445. Katzan                         FORTRAN 77                                  1982
  1446. Gibson/Young                  INTRODUCTION TO PROGRAMMING USING FORTRAN 77 1982
  1447. Ellis                         STRUCTURED APPROACH FORTRAN 77 PROGRAMMING   1982
  1448. Durgin                        FORTRAN 77                                   1982
  1449. Nanney                        A PROBLEM-SOLVING APPROACH USING FORTRAN 77  1981
  1450. Merchant                      FORTRAN 77: LANGUAGE AND STYLE               1981
  1451. Khailany                      BUSINESS PROGRAMMING FORTRAN IV/ANSI FORTRAN 1981
  1452. Ashcroft                      PROGRAMMING WITH FORTRAN 77                  1981
  1453. Wagener                        FORTRAN 77                                    ?
  1454. Wagener                       PRINCIPLES OF FORTRAN 77 PROGRAMMING         1980
  1455. Meissner/Organick             FORTRAN 77 FEATURING STRUCTURED PROGRAMMING  1980
  1456. Hume/Holt                     PROGRAMMING FORTRAN 77                       1979
  1457. Balfour                       PROGRAMMING IN STANDARD FORTRAN 77           1979
  1458. Brainerd               Programmer's guide to Fortran 90            1990
  1459. Adams et al                   Fortran 90 Handbook                         1991
  1460. Counihan                      Fortran 90                                  1991
  1461. O'Reilly&Assoc              Unix for FORTRAN Programmers                1990
  1462.  
  1463. From: dtm@castle.ed.ac.uk (D Muxworthy)
  1464. Newsgroups: comp.lang.fortran
  1465. Subject: Fortran 90 text books (was: Fortran 8x Information sought)
  1466. Date: 16 Jul 93 12:10:32 GMT
  1467. Distribution: comp
  1468. Organization: Edinburgh University
  1469.  
  1470. In article <KUMAZAWA.93Jul15114854@sutkbcn1.c1.kagu.sut.ad.jp> kumazawa@c1.kagu.sut.ad.jp (Tomonobu Kumazawa) writes:
  1471. >
  1472. >   I would appreciate any information (books, information materials,
  1473. > contacts of software publishers etc.) related to FORTRAN 8x.
  1474.  
  1475. Here is a bibliography of Fortran 90 text books.  Any information on additions
  1476. would be welcome, as would the ISBN number of Schobert's book. 
  1477.  
  1478. 1.   Fortran 90 - Counihan, Pitman, 1991, ISBN 0-273-03073-6.
  1479. 2.   Fortran 90; Approche par la Pratique - Lignelet, Se'rie
  1480.      Informatique E'ditions, Menton, 1993, ISBN 2-090615-01-4.
  1481. 3.   Fortran 90: eine informelle Einfu"hrung - Heisterkamp,
  1482.      BI-Wissenschaftsverlag, 1991, ISBN 3-411153-21-0.
  1483. 4.   Fortran 90 Explained - Metcalf and Reid, Oxford University
  1484.      Press, 1992, ISBN 0-19-853772-7 (also available in French,
  1485.      Japanese [from Oct 1993] and Russian [Q4, 1993] translation).
  1486. 5.   Fortran 90 Handbook - Adams, Brainerd, Martin, Smith and
  1487.      Wagener, McGraw-Hill, 1992, ISBN 0-07-000406-4.
  1488. 6.   Fortran 90; Initiation a` partir du Fortran 77 - Aberti,
  1489.      Se'rie Informatique E'ditions, Menton, 1992, ISBN 2-090615-00-6.
  1490. 7.   Fortran 90 Referenz-Handbuch: der neue Fortran-Standard -
  1491.      Gehrke, Carl Hansen Verlag, 1991, ISBN 3-446163-21-2.
  1492. 8.   Programmer's Guide to Fortran 90 - Brainerd, Goldberg and
  1493.      Adams, McGraw-Hill, 1990, ISBN 0-07-000248-7.
  1494. 9.   Programmieren in Fortran - Langer, Springer Verlag, 1993,
  1495.      ISBN 0-387-82446-4.
  1496. 10.  Programmierung in Fortran 90 - Schobert, Oldenburg, 1991.
  1497. 11.  Programming in Fortran 90 - Morgan and Schonfelder,
  1498.      Blackwell Scientific Publications, 1993, ISBN 0-632028-38-6.
  1499. 12.  Software Entwicklung in Fortran 90 - U"berhuber and Meditz,
  1500.      Springer Verlag, 1993, ISBN 0-387-82450-2.
  1501.  
  1502. David Muxworthy
  1503. Edinburgh University
  1504.  
  1505.  
  1506.  
  1507. Q12) Are there pretty printers for FORTRAN? Flowchart generators?
  1508.  
  1509.     Yes. 
  1510.  
  1511.     One such is SPAG:  OTG <usa> voice 717 222 9100  fax   717 229 9103
  1512.     Authors are   
  1513.  
  1514.            Polyhedron Software Ltd
  1515.            Magdalen House
  1516.            98 Abingdon Road
  1517.            Standlake
  1518.            Witney
  1519.            Oxon OX8 7RN
  1520.  
  1521.            Tel 0865 300 579
  1522.  
  1523.      part of their plusFORT product.
  1524.            
  1525.  
  1526.     Another is Fortran development Tools from  Quibus 714 527 1384
  1527.  
  1528.     Also FOR_STRUCT from cobalt-blue. 404 518 1116 fax 404 640 1182
  1529.  
  1530.     These more than pretty print, they optionally restructure your
  1531.     code (duplicating code as needed to tidy up strange GOTO lists,
  1532.     turning them into IF-THEN chains, and etc.).
  1533.  
  1534.  
  1535. From: dappel@grafted.UUCP (Dave Appel)
  1536. Newsgroups: comp.lang.fortran
  1537. Subject: Re: code beautifier wanted
  1538. Date: 4 Mar 92 21:30:25 GMT
  1539. Organization: GRAFTED, Central Indiana's Usenet BBS 317-881-4369
  1540.  
  1541. wg@cbnewsm.att.com (Bill Gieske) writes:
  1542. > I have tons of old FORTRAN code, most of it in upper case, the majority
  1543. > of it not indented.  Is there a code beautifier, either PD or $$ that I
  1544. > can run the code through to improve the readability, hence the main-
  1545. > tainability?
  1546. > Reply to me direct.  I will summarize if appropriate.
  1547. > Bill Gieske
  1548. > AT&T Bell Laboratories
  1549. > wg%alux2@att.research.com
  1550.  
  1551.      Call "The Connection at 800-336-1166"  and ask for
  1552. their software catalog.
  1553.  
  1554.      In their catalog that I have, Sprint 1992, there is an
  1555. ad on page 39 from AutoCASE Technology.  They have
  1556. a product called "AutoFLOW-FORTRAN" that lists for $1,995.
  1557. It claims to automatically document your existing source code.
  1558. AutoCASE's number is 408-446-2273.
  1559.  
  1560.       On page 93 is an ad from POWERLINE Software Inc.
  1561. Their number is 800-257-5773, 206-623-9204.  They offer
  1562. a product called SOURCE PRINT+, which they call a code
  1563. management tool with "multi-style formatting with structured
  1564. code blocking."  
  1565.  
  1566. They have a Fortran/Basic version for $169, and a Delux
  1567. Multi-language version for $249.  This program is for
  1568. DOS (MS-DOS presumably) Windows, and OS/2.
  1569.  
  1570. Hope this helps.
  1571.  
  1572. --
  1573. Dave Appel
  1574. The Grafted Branch BBS
  1575. 317-881-4369
  1576. internet: dappel@grafted.UUCP
  1577. uucp: ..!uunet!grafted.UUCP!dappel
  1578.     -= newsfeeds available, contact robert@towers.rn.com =-
  1579.  
  1580. Hindsight/Fortran
  1581.  
  1582.         Summary:
  1583.  
  1584.     Features include the ability to draw an interactive structure
  1585.     chart and display coverage, software complexity and
  1586.     performance information on the structure chart. There are also
  1587.     code tracing features, for instance 3 logic diagrams are
  1588.     produced. Common blocks can be traced through the structure
  1589.     charts, including specific variables within common blocks.
  1590.     Hindsight is excellent for documentation, code inspection, and
  1591.     bringing new software engineers up to speed on new code. 
  1592.  
  1593. For more information or a free demo copy, contact:
  1594.  
  1595. Rich Fienberg,  National Account Manager
  1596. Advanced Software Automation, Inc.
  1597. 3130A Coronado Dr
  1598. Santa Clara, 95054
  1599.  
  1600. Phone: 408 492-1668  Fax: 408 492-1669
  1601. Free Seminars Fridays 2-4pm
  1602.  
  1603. Email: rich@hindsight.com 
  1604.  
  1605. Alternative contact (if Dan cannot be reached:
  1606.                 support@hindsight.com 
  1607.  
  1608.  
  1609. Hindsight/FORTRAN Version 1.0 features
  1610.  
  1611. Hindsight/FORTRAN Version 1.0 is a fully integrated software
  1612. maintenance, testing, and re-engineering environment which addresses
  1613. many problems of the software development cycle, from design to
  1614. maintenance.
  1615.  
  1616. Hindsight/FORTRAN Version 1.0 parses FORTRAN source code, decomposes
  1617. system structure, and from this analysis, produces a single database
  1618. from which all of Hindsight's charts, diagrams and reports are
  1619. produced.  The results of Hindsight's analysis is a detailed picture
  1620. of the static structure of the software system, a representation of
  1621. the common and local data, and connections to the dynamically
  1622. collected run-time data.  From this, Hindsight generates active
  1623. structure charts where the user can isolate logical subtrees to
  1624. analyze both the parents and the children of a selected function.
  1625. Hindsight collects and analyzes performance, complexity, and test
  1626. coverage data.  With the structure chart, the user can display this
  1627. data in a graphical and easy to use format.  From the structure chart,
  1628. the user can edit multiple functions at a time without having to
  1629. specify the file or directory path where the file exists.  Hindsight
  1630. even displays the use of common blocks on the structure chart.
  1631. Lastly, Hindsight generates logic diagrams for the entire program,
  1632. provides point-and-click tracing between high-level and detailed logic
  1633. with active line numbers, and generates over fifty detailed reports.
  1634.  
  1635. All capabilities mentioned above are integrated in a menu
  1636. driven environment utilizing the OpenLook or Motif Graphical User
  1637. Interface. Engineers only need to specify a list of source files to be
  1638. analyzed and select the operation and parameters for their purposes.
  1639. Hindsight provides the ability for multiple diagrams and reports to be
  1640. produced simultaneously during a single Hindsight session.
  1641.  
  1642. Hindsight/FORTRAN Version 1.0 provides an innovative technique to
  1643. graphically represent a software system. The structure chart reflects
  1644. the system structure, from which the user can get a clear overview of
  1645. the program being examined. Hindsight also allows the user to view or
  1646. edit the original code with a click on any subprogram box in the
  1647. structure chart.  A major time-saving advance is Hindsight's ability
  1648. to reanalyze an edited function and update the structural database
  1649. without reanalyzing the entire system.  The J-Diagram and ActionPlus
  1650. diagram are two graphical representations of the logic in a software
  1651. system and can contain a single module or the entire system.  Both
  1652. diagrams utilize the active line number technique to link high-level
  1653. module calls with detailed module logic.  Hindsight also actively
  1654. links computed GOTO statements with their destination labels by
  1655. clicking on the label.  Users can walk through programs and trace the
  1656. logic without having to memorize the directories and files where
  1657. subprograms are defined and called. This technique saves a great deal
  1658. of the users time.
  1659.  
  1660. Hindsight/FORTRAN Version 1.0 has many integrated automated tools to
  1661. generate documents either on-screen or on paper. Because the documents
  1662. are automatically generated, they can be updated as soon as engineers
  1663. have modified their source code.  This approach guarantees the
  1664. consistency between the design documents and the source code.  The
  1665. updated and correct documents will be of great value in maintaining
  1666. and improving software products.  These documents are available
  1667. on-line to the user and readily accessible through Hindsight's
  1668. interactive report mechanism.
  1669.  
  1670. Hindsight Version 1.0 has the ability to provide segment or line test
  1671. coverage data.  Hindsight generates test coverage data and displays
  1672. the data on the structure chart in a statistical way.  Hindsight can
  1673. also display the precise location of testing deficiencies on the
  1674. J-Diagram, which helps engineers find the exact part of the program
  1675. where the code has not been tested. Hindsight's ability to display
  1676. performance data, complexity metrics, and test coverage data on charts
  1677. and diagrams play an important role in controlling program quality.
  1678.  
  1679. Hindsight/FORTRAN Version 1.0 uses a new notation for the J-diagram
  1680. which accommodates branch test coverage capability.  The new notation
  1681. has a better and more precise method of showing control levels,
  1682. complexity, and segment number counting.  The branch test coverage
  1683. data generation and display is a great enhancement for test coverage
  1684. analysis.  Hindsight's branch test coverage is able to detect
  1685. invisible branches, finding more problems that would otherwise be
  1686. hidden in programs.  With this information, users can add test cases
  1687. for covering the untested code.
  1688.  
  1689. Hindsight/FORTRAN Version 1.0 contains the ability to speed up the
  1690. development process by generating a specific order for coding the
  1691. modules of a users system.  By analyzing a group of modules containing
  1692. nothing more than empty shells of subprograms that call the other
  1693. subprograms in the system, Hindsight generates the coding order for
  1694. the modules to ensure that the process will be testable with the use
  1695. of a single driver process and without the need to stub out uncoded
  1696. subprograms.  The bottom-up coding approach saves time that would be
  1697. wasted coding unneeded stubs.  As development proceeds, Hindsight's
  1698. ability to verify that calls to other subprograms are utilizing the
  1699. proper interface will also save time and improve program quality.
  1700.  
  1701. Other tools:
  1702.  
  1703.               Refine/FORTRAN  ("re-engineering tool")
  1704.         Reasoning Systems Inc
  1705.         415 494 6201
  1706.  
  1707.         FORM (graphical interface to toolpack)
  1708.         University of Kent 44 227 762811
  1709.  
  1710.  
  1711.         pub/fortran/fxref.tar.Z from biome.bio.ns.ca.
  1712.         create cross reference of a FORTRAN program.
  1713.  
  1714.         CLEAN77 available from Purdue University.
  1715.         Mail Greg Flint (afc.klaatu.cc.purdue.edu) for more info.
  1716.  
  1717.         There is a program called TIDY that is available via
  1718.         FTP from simtel20  pub/msdos/fortran/tidy621.zip on
  1719.         oak.oakland.edu 
  1720.  
  1721.  
  1722. ************************************************************************
  1723.  
  1724. Cadre Teamwork 
  1725.  
  1726. Cadre Technologies Inc. 
  1727. Cadre Teamwork is a large suite of integrated CASE tools that run on
  1728. Unix and VAX platforms.  Their core products are structured analysis
  1729. (with real-time extensions) and design, information modeling, and an
  1730. integrated data dictionary.  More recently, they have added many
  1731. extensions, including a C development environment, C and Fortran reverse
  1732. engineering (build a structure chart from source code), testing tools,
  1733. and others.  
  1734.  
  1735. 222 Richmond Street
  1736. Providence, RI 02903
  1737. Phone (401) 351-5950   Fax (401) 351-7380
  1738.  
  1739. From: lionel@quark.enet.dec.com (Steve Lionel)
  1740. Newsgroups: comp.lang.fortran
  1741. Subject: Re: Code formatter for FORTRAN
  1742. Date: 15 Jun 1994 15:02:38 GMT
  1743. Organization: Digital Equipment Corporation, Nashua NH
  1744. Reply-To: lionel@quark.enet.dec.com (Steve Lionel)
  1745.  
  1746.  
  1747. In article <2tn1bf$aod@rcsuna.gmr.com>, jgatowsk@rinhp750.gmr.com 
  1748. (Jan Gatowski EN/16) writes:
  1749. |>Does anyone know if there exists a (commercial or freeware) FORTRAN
  1750. |>code indenter/formatter? A friend is faced with revamping a largely
  1751. |>unreadable old code and could use any available tools to render it more
  1752. |>legible.
  1753.  
  1754. While I was at UK DECUS I attended a talk which described a product called
  1755. The FORTRAN Partner which has as its capabilities (according to the
  1756. documemtation I have):
  1757.  
  1758.     Screening: automatically checking whole FORTRAN programs for
  1759.     classes of error not detected by compiler
  1760.  
  1761.     Troubleshooting: analysing programmes interactively to expose
  1762.     problems or inconsistencies
  1763.  
  1764.     Porting: moving code to different FORTRAN environments
  1765.  
  1766.     Standardising: converting code to a consistent style and
  1767.     creating a framework for documentation
  1768.  
  1769.     Optimising: optimising code for speed of execution
  1770.  
  1771. The product is available on the following platforms:
  1772.  
  1773.     Alliant FX80
  1774.     Avalon Vaccelerator AP/30
  1775.     Digital VAX (OpenVMS)
  1776.     Digital Alpha AXP (OpenVMS)
  1777.     HP Risc Processors under Unix
  1778.     IBM PC and compatible systems with minimum 80386 processor
  1779.       and Maths Coprocessor
  1780.     IBM Risc System 6000 under AIX
  1781.     Parsys Supernode under Idris
  1782.     Silicon Graphics MIPS processors under IRIS
  1783.     Sun SPARC and compatible under Solaris and SunOS
  1784.  
  1785. The vendor is:
  1786.  
  1787.     Software Validation Limited
  1788.     PO Box 270
  1789.     Swindon SN4 0TQ
  1790.     England
  1791.     Tel: +44 (0) 793 740002
  1792.     Fax: +44 (0) 793 740974
  1793.  
  1794. A single workstation/PC price is given as 945 Pounds.  I don't know what
  1795. a US price would be.
  1796.  
  1797. One of the claims which impressed me was the ability to understand many
  1798. different syntax variants and convert them to a more standard form.  The
  1799. formatting rules are customizable.  (The optimizations consist of 
  1800. inline expansion and loop unrolling.)
  1801.  
  1802. I have not actually tried this product (I just got a demo disc today) and
  1803. this should in no way be considered an endorsement of the product by
  1804. either myself or Digital Equipment Corporation.  However, it looks like
  1805. it would be worth considering for some applications.
  1806. -- 
  1807.  
  1808. Steve Lionel                      Mail: lionel@quark.enet.dec.com
  1809. SDT Languages Group               WWW:  http://www.digital.com/info/slionel.html
  1810. Digital Equipment Corporation     
  1811. 110 Spit Brook Road, ZKO2-3/N30
  1812. Nashua, NH 03062-2698             "Free advice is worth every cent"
  1813.  
  1814.  
  1815. Q13) Why are there aimless debates?
  1816.  
  1817.     There are some  persistent individuals who would like computer systems
  1818.     to work in a fashion somewhat unlike they do now. It seems pointless
  1819.     to debate with them; the debates (in various groups) always take
  1820.     the same form and never result in meaningful dialog.
  1821.  
  1822.     One can usually recognize such by reading a week or so's worth of
  1823.     postings. Sometimes you may have to read for a month to recognize
  1824.     such. When you do, please try to avoid triggering (or responding to)
  1825.     such individuals. 
  1826.  
  1827.     Many (if not most) newsreaders support a feature entitled KILL files.
  1828.     As you recognize individuals, you may wish to put them into your
  1829.     local kill file. For example, the style employed by GNUS:
  1830.  
  1831.     (gnus-kill "From" "hrubin@pop.stat.purdue.edu")
  1832.     (gnus-kill "Subject" "test")
  1833.  
  1834.     the first kills off all postings from the named individual,
  1835.     the second kills off all postings including the beloved "test" string.
  1836.     See your local NewsGod for details suitable for your local system.
  1837.     
  1838. Q14) How do I call f77 from C (and visa versa)
  1839.      This is quite platform dependent. For Suns see the FORTRAN User's
  1840.      Guide, Chapter 14.
  1841.  
  1842.     There is a package available from usenet which attempts to make
  1843.     this "quick and easy" for a wide range of platforms:
  1844.  
  1845. Host ftp.germany.eu.net
  1846.  
  1847.     Location: /newsarchive/comp.sources.misc/volume20
  1848.       DIRECTORY drwxr-xr-x        512  Jul  7 1993  cfortran
  1849.  
  1850. Host ftp.sunet.se
  1851.  
  1852.     Location: /pub/usenet/comp.sources.misc/volume20
  1853.       DIRECTORY drwxrwxr-x        512  May 28 1993  cfortran
  1854.  
  1855. Host ftp.wustl.edu
  1856.  
  1857.     Location: /usenet/comp.sources.misc/volume20
  1858.       DIRECTORY drwxr-xr-x       8192  Oct 30 15:09  cfortran
  1859.  
  1860. Host halcyon.com
  1861.  
  1862.     Location: /dec/.0/usenet/comp.sources.misc/volume20
  1863.       DIRECTORY dr-xr-xr-x        512  Jul  8 1993  cfortran
  1864.  
  1865. Host lth.se
  1866.  
  1867.     Location: /pub/netnews/sources.misc/volume20
  1868.       DIRECTORY drwxr-xr-x        512  Jun  7 1993  cfortran
  1869.  
  1870. Host math.mps.ohio-state.edu
  1871.  
  1872.     Location: /pub/archives/comp.sources.misc/vol20
  1873.       DIRECTORY drwxrwxr-x        512  Jun  2 1993  cfortran
  1874.  
  1875.  
  1876.    It is on many other sites (around the world) too. See archie if
  1877.    you need other pointers.
  1878.  
  1879.    For some systems, you have to initialize a runtime system explicitly
  1880.    if you call a different language, and stopping execution from the
  1881.    other program may not work.
  1882.  
  1883.     The most recent version of cfortran.h is available via anon. ftp at
  1884.     zebra.desy.de.
  1885.  
  1886. ;;;;
  1887.  
  1888. ----8< -------------8< ---------------- 8< ------------8< --------------
  1889. First post: 
  1890.  --From: vankemme@imec.be (Rudi Vankemmel)
  1891.  --Subject: A: [F77-C] call NAG F77 Library in C ?
  1892.  --Message-ID: <1993Jun23.113910.28819@imec.be>
  1893. ------------------------------------------------------------------------
  1894. Yongtao Chen (yongtao@watnow.uwaterloo.ca) wrote:
  1895. : .......
  1896. :      *  How to call NAG Fortran Library with C (under Unix)  ? *
  1897.  
  1898. :      We have a NAG Fortran Library on our machine but I do not
  1899. :      know how to call them in my C program.  Can anybody give
  1900. :      me some advice about how to do this?
  1901.  
  1902.  Hello,
  1903.   we have some programs written in C calling the NAG library (which
  1904.   is written in Fortran). There are a number of
  1905.   important things you must be aware of:
  1906.  
  1907.   1) Fortran uses a column wise storage of matrices while C stores them
  1908.      row wise. This means that when you want to parse a matrix from your
  1909.      C-program to the NAG (-fortran-) routine you must transpose the matrix
  1910.      in your program before entering the routine. Of course, any output
  1911.      from such a routine must be transposed again. 
  1912.  
  1913.      If you ommit this step, then probably your program will run (because
  1914.      it has data to compute on) but it will generate wrong answers.
  1915.  
  1916.      B.T.W. if you have the Fortran source code (of any routine) then 
  1917.      on some platforms you may use compiler directives specifying
  1918.      that the Fortran compiler must use row wise storage.  Some platforms
  1919.      support these directives. However watch out with this if you call 
  1920.      the same routine from another Fortran routine/program.
  1921.  
  1922.   2) Your Fortran compiler may add an underscore "_" to the routine name
  1923.      in the symbol table e.g. subroutine example(..,..,..) becomes
  1924.      example_ in the table. Hence in the calling C-program/routine
  1925.      you must add a trailing underscore ! Otherwise the loader will complain
  1926.      about an undefined symbol "example" while "example_" is loaded.
  1927.      However, check your compiler for this. For example the Fortran compiler
  1928.      on VAX-VMS systems does NOT add a trailing underscore (there watch out
  1929.      with the fact that the VAX-Fortran compiler translates everything
  1930.      in uppercase).
  1931.  
  1932.   3) Fortran passes its variables by reference. This means that you MUST
  1933.      give adresses in your calling C-program (i know, this is a stupid
  1934.      remark but it is too often forgotten (my experience ....)). 
  1935.  
  1936.   4) Watch out especially with float's and double's. Make sure that the 
  1937.      size of the variable in the calling program is identical to the size
  1938.      in the Fortran routine e.g.  double <----> real*8, float <---> real
  1939.      This is extremely important on machines with little endian byte
  1940.      ordening. Parsing a float (C-routine) to a real*8 (Fortran) number
  1941.      will not generate SEGV but give wrong results as the data is parsed
  1942.      wrongly.
  1943.  
  1944.   5) Remember that the array index in Fortran starts at 1 while in C
  1945.      this is at index 0; hence a parsed array fortran_array[1:100]
  1946.      must be used in the C-routine/program as c_array[0:99].
  1947.  
  1948.   Good luck with it !!
  1949. -------------------------------------------------------------------------------
  1950.   Rudi Vankemmel                      | These are my opinions, not those of
  1951.   IMEC vzw. - ASP division            | my employer, so don't take them away
  1952.   Process and Device Modelling group  |________________________________________
  1953.   Kapeldreef 75                            phone: (32)-(0)16/28 13 37 
  1954.   3001 Leuven                              fax:   (32)-(0)16/28 12 14
  1955.   Belgium                                  email: vankemme@imec.be
  1956. -------------------------------------------------------------------------------
  1957.  
  1958. another post:
  1959.  --From: beardsl@mepsi.mobil.com (Reginald Beardsley)
  1960.  --Subject: A: [F77-C] Fortran to c and c to fortran
  1961.  --Message-ID: <2081se$26j@dlsn31.dal.mobil.com>
  1962.  
  1963. I do a lot of this.  The following is true on the following machines.  I cannot
  1964. say about others.
  1965.  
  1966. Sun 3 & 4
  1967. IBM RS/6000
  1968. SGI
  1969. DECstation
  1970. Intergraph Clipper (Apogee & Green Hills compilers)
  1971. H-P 7xx
  1972.  
  1973. 1) If possible, do not pass strings to FORTRAN from C or vice versa.
  1974.  
  1975. 2) Do not mix I/O on the same file descriptors.
  1976.  
  1977. 3) Do all your math in FORTRAN, and all the rest in C if at all possible.
  1978.  
  1979. 4) NEVER ever attempt to write the equivalent of a FORTRAN function that returns
  1980.    a character variable in C.  Life is too short for the suffering it causes.
  1981.  
  1982. 5) If you do ANY I/O in FORTRAN, you MUST use a FORTRAN main program.
  1983.  
  1984. 6) FORTRAN always passes pointers. 
  1985.  
  1986. 7) FORTRAN passes string lengths BY VALUE in the order the strings appear in the
  1987. argument list.  These do NOT appear in the FORTRAN argument list, but will 
  1988. appear in the C argument list.
  1989.  
  1990. 8) You will need to take care of nulls and blanks spaces explicitly if you ignore #1 above.
  1991.  
  1992. 9) The Sun FORTRAN compiler used lex and yacc to do the conversion of a run time
  1993. format from a character variable.  If you use lex and yacc either rename the
  1994. variables and functions or partially link before you link to the FORTRAN 
  1995. libraries.
  1996.  
  1997. 10) FORTRAN symbols have trailing underscores appended.  Some compilers require
  1998. a compiler flag to get this.  Use it! It makes the code more portable.
  1999.  
  2000. 11) Don't pass structures.  If you must access a structure element, pass a 
  2001. pointer through to a routine which passes back the element pointer.
  2002.  
  2003. 12) Don't forget that the storage orders for arrays is opposite and
  2004. transposition is expensive.
  2005.  
  2006. I currently have many lines of code with FORTRAN calling C calling FORTRAN.  It's not my choice of things to do, but it works well.  Much better than using
  2007. the wrong language for the task.  My only regret is that I'm forced to pass a
  2008. lot of strings between the two languages.
  2009.  
  2010. ------------------------------------------------------------------------
  2011. Reginald H. Beardsley                    Contract Consultant/Programmer
  2012.  
  2013.          Mobil Exploration and Production Technology 
  2014.  
  2015. Office: (214)-851-8547                   beardsl@dal.mobil.com
  2016. Home:   (214)-306-3907
  2017.  
  2018. ---------------------------------------------------------------------------
  2019.  
  2020. followup to first post:
  2021.  --From: andrew@rentec.com (Andrew Mullhaupt)
  2022.  --Subject: A3: [F77-C] How to call NAG Fortran Library with C ?
  2023.  --Message-ID: <1813@kepler1.rentec.com>
  2024.  
  2025. In article <C9JnIF.Mzp@bernina.ethz.ch> brech@vision.ethz.ch (Christian Brechbuehler) writes:
  2026.  
  2027. >It is important that you know what's happening when Fortan and C access
  2028. >array elements.  But I never had to perform any "transposition" step in a
  2029. >program.  You just have to read the definitions the other way.  When the
  2030. >manual says   A(j+1,i+1)  I understand   this means  a[i][j]  in C, etc.
  2031.  
  2032. This is true enough, but there are times when you don't want to modify
  2033. already existing FORTRAN and C you may have to write a transposition wrapper.
  2034.  
  2035. This can be advisable for reasons of clarity (i.e. keeping the documentation
  2036. the code and the math in sync.) and for reasons of performance.
  2037.  
  2038. Later,
  2039. Andrew Mullhaupt
  2040.  
  2041. ;;;;
  2042.  
  2043. Most vendors have surprisingly complete documentation of this sort of
  2044. thing ... if one troubles to look for it. There is, for example, an
  2045. entire chapter in the SunPro Fortran documentation <khb>
  2046.  
  2047.  
  2048.  
  2049.  
  2050. Q15) What constitutes good FORTRAN style?
  2051.  
  2052. One rendition of a FORTRAN 77 style guide is available through anonymous
  2053. ftp from ics.uci.edu (128.195.1.1).  To retrieve (please note that it's
  2054. not really "anonymous", that's just the Name that you'll be using):
  2055.  
  2056. % ftp ics.uci.edu
  2057. anonymous
  2058. <enter your e-mail address at Password: prompt>
  2059. cd pub/levine
  2060. ascii
  2061. get F77_Style_Guide
  2062. bye
  2063.  
  2064. If you can't access this site directly, please send an e-mail request to
  2065. levine@ics.uci.edu (BITNET: levine@uci, UUCP: ...!uunet!ucivax!levine).
  2066.  
  2067. Q16) For whatever reasons, I want to translate my Fortran into C.
  2068.     What tools are available?
  2069.  
  2070.     f90 from NAG, see above
  2071.     f2c see above.
  2072.  
  2073.     FORTRAN=C=FORTRIX=Rapitech Rapitech (914) 368-3000
  2074.     FORTRAN=C=FOR_C=Cobalt Blue  404 518 1116
  2075.     FORTRAN=C=PROMULA.FORTRAN=Promula (614) 263-5512
  2076.  
  2077. Q17) For whatever reasons, I want to translate my existing C code
  2078.      into Fortran. What tools are available?
  2079.  
  2080. Regretably none. This is indeed unfortunate, as even a limited
  2081. translator could help with typical C header files.
  2082.  
  2083. Q18) What is preprocessing, how can it help? How can it hurt?
  2084.      
  2085. Preprocessing often refers to usage of a Macro-prepressor upon ones
  2086. source code prior to compilation. 
  2087.  
  2088.        How can this help?
  2089.  
  2090. It can make it easier to move code between machines.
  2091.  
  2092.        How can this hurt?
  2093.   
  2094. It can cause difficulties in compilation of the processed code; most (if
  2095. not all) macro-preprocessors know nothing about Fortran syntax and
  2096. code layout rules. So, a common problem is that after preprocessing
  2097. some text may be lost past "sacred" column 72. Those working with
  2098. compilers that optionally compile *past* line 72 should probably
  2099. employ that option when using a preprocessor.
  2100.  
  2101. Common prepressors are: cpp, m4, and ratfor. Many sites have their
  2102. own custom prepressors. Basic functions are:
  2103.  
  2104.     1) definition of a symbol
  2105.     2) conditional code selection based on a symbol
  2106.     3) substition of a symbol by its definition
  2107.  
  2108. Traditional BSD Unix f77 processors treat a file named foo.F (as
  2109. opposed to foo.f) as one that should be run through cpp prior to
  2110. compilation "automatically".
  2111.  
  2112. Q19) How can I convert an existing FORTRAN 77 program to the free form
  2113.      source of Fortran 90?
  2114.  
  2115. Source code conversion program from ftp
  2116. ---------------------------------------
  2117.  
  2118.    Many people who start to code in Fortran 90 prefer to do so
  2119. using the new, less restictive, source form. However, a problem
  2120. arises when wanting to modify old FORTRAN 77 code while sticking
  2121. to the new style. To help in this situation, a source code conversion
  2122. program has been written (and well tested) and made availble by
  2123. anonymous ftp.
  2124.  
  2125.    Apart from the conversion, the program can:
  2126.  
  2127.        ensure that blanks are used correctly in the code as they are
  2128.        significant with the new source form;
  2129.  
  2130.        indent DO-loops and IF-blocks;
  2131.  
  2132.        replace CONTINUE by END DO, where appropriate;
  2133.  
  2134.        add subprogram names to END statements;
  2135.  
  2136.        change non-standard length specification syntax,
  2137.        like INTEGER*2, to the
  2138.        Fortran 90 equivalent, in all contexts (type statements, FUNCTION
  2139.        statements, and IMPLICIT statements);
  2140.  
  2141.        produce an interface block automatically from the source code of a
  2142.        procedure - useful to the library developer when wishing to use
  2143.        this important new facility with an existing library.
  2144.  
  2145.    The source code can be obtained by anonymous ftp to
  2146. jkr.cc.rl.ac.uk (130.246.8.23). When prompted for a userid, reply with
  2147.  
  2148.    anonymous
  2149.  
  2150. and give your name as password. The directory is /pub/MandR
  2151. and the file name is convert.f90.
  2152.  
  2153.  
  2154.                            Mike Metcalf
  2155.                            (metcalf@cernvm.cern.ch)
  2156.  
  2157.  
  2158. Q20) Who creates these silly standards anyway?
  2159.  
  2160. Typically X3J3. X3J3 is an ANSI subcommittee dedicated to Fortran. WG5
  2161. is the ISO counterpart. WG5 owns responsibility for Fortran on an
  2162. international basis. WG5 has previously tasked X3J3 to do the work.
  2163. This arrangement continues.
  2164.  
  2165. WG5 is composed of Fortran users, vendors, and academics from several
  2166. ISO supporting nations. Delegates represent *their*countries* not
  2167. their companies; so several delegates from a single company is
  2168. permitted. 
  2169.  
  2170. ANSI rules prohibit multiple voting delegates from the same company.
  2171. X3J3 is composed of users (aerospace, government labs, military, DECUS,
  2172. railroads, oil to name a few), vendors (IBM, CRI, Sun, Convex, DEC,
  2173. UNISYS, to name a few) and the odd academic (oxford, yale, liverpool, to
  2174. name a couple). Members need not be US citizens nor must their company
  2175. be US domiciled. Being a member of a standards group is typically
  2176. involves non-trivial work. To be effective, one should plan on at
  2177. least 8 weeks of time per year (those who are really doing the hard
  2178. work do far more). This time commitment is typically far more
  2179. expensive than the travel and membership costs.
  2180.  
  2181. X3J3 meetings are open to the public. There are typically 4 meetings a
  2182. year, typically 3 are in the US and 1 *may* be overseas (to precede or
  2183. follow the WG5 plenary session). Membership fees are levied by ANSI,
  2184. and are on the near order of $400 (plus an extra $300ish for those who
  2185. wish to be members of the US delegation to ISO). In addition,
  2186. attendees to a particular X3J3 meeting pay a "meeting fee" which
  2187. covers reproduction costs, snacks and etc.
  2188.  
  2189. WG5 has established various goals and targets for future work. Roughly
  2190. speaking 5yrs rather than 13years are the targets for future work.
  2191.  
  2192. Current work projects include cleanup and interpretations of Fortran
  2193. (90), features for future versions of the standard (e.g. parallel
  2194. processing, "object-oriented" technologies, etc.). In addition to work
  2195. done directly by X3J3, there is work on standardized modules, and OS
  2196. bindings taking place in other organizations. X3J3 would like to keep
  2197. track of such efforts, those involved are invited to inform X3J3 early
  2198. in their development efforts if possible. X3J3 is currently working
  2199. with X3H5, DIN (varying string character) and tracking the efforts of
  2200. HPFF. 
  2201.  
  2202. New members are always welcome. Visitors are also; though it is very
  2203. hard to get a good grip on things in only one meeting!
  2204.  
  2205. Contact the X3J3 chair for more information:
  2206.  
  2207.     jwagener@trc.amoco.com   chair
  2208.     KELBLE%TRPROGB@trenga.tredydev.unisys.com  vice-chair
  2209.  
  2210. Upcoming meetings are:
  2211.  
  2212.     February 7-11 1994 Palmdale California
  2213.     May    1994        Lake Tahoe
  2214.     Summer 1994        Scotland
  2215.  
  2216. Q21) How can I read my VAX binary data somewhere else?
  2217.  
  2218.      Some vendors provide bulit in methods (DEC provides this via
  2219.      special options on the OPEN statement). Others provide library support 
  2220.      (on SPARC products, with the SunPro compilers, checkout convert_external)
  2221.      In addition, Accerl8 provides a commerial tool. Contact:
  2222.  
  2223.     Robert Hickler                            Tel   (303) 863-8088
  2224.     Accelr8 Technology                        Email robert@accelr8.com
  2225.  
  2226.      for more information.
  2227.  
  2228. The following three Q's and A's based on email from:
  2229.     ecmtwhk@ccu1.aukuni.ac.nz (Thomas Koenig) 
  2230.  
  2231. Q22) My F77 program compiled ok on a <system1>, but gives me heaps of
  2232.      syntax errors on a <system2>. What's wrong?
  2233.  
  2234.      Most likely, the program was written with a line length greater than
  2235.      72. If your compiler supports it, turn on the option for greater
  2236.      line length (e.g. -e is not uncommon) ; otherwise, split up the
  2237.      lines by hand, or via one of those pretty-printers/restructing
  2238.      tools mentioned above.
  2239.  
  2240. Q23) My F77 program ran ok on a <system1>, but on a <system2> it just gives
  2241.      me strange results. What's wrong?
  2242.  
  2243.      There are different reasons why this could be. Possibly, your program
  2244.      violates the standard in some way which is not caught by the compiler
  2245.      on <system1>.
  2246.      
  2247.      Many programs rely on variables to be initialized to zero when a
  2248.      subroutine or function is first called, and also on the retention
  2249.      of values between calls. While many compilers (VAX/VMX and IBM VS,
  2250.      for example) exhibit this behaviour, compilers on newer
  2251.      architectures often fill variables with garbage on each new
  2252.      function call. This is permitted, according to the standard.
  2253.  
  2254.      Initialize variables explicitly, and put the variables which you need
  2255.      to keep across function calls into SAVE statements. Your compiler may
  2256.      have an option to trap unititialized variables; use that to find the
  2257.      trouble spots. Alternatively, compile using a flag which forces
  2258.      static allocation of all variables.
  2259.  
  2260.      Another problem might be that the accuracy of REAL and DOUBLE
  2261.      PRECISION differs between different platforms; that can cause
  2262.      roundoff error to wipe out your results or your program to go
  2263.      into endless loops.
  2264.  
  2265.      Yet another (and much more subtle) problem can occur if a lot of
  2266.      formatted I/O is employed. The conversion from internal to
  2267.      external representations can introduce very significant errors;
  2268.      much worse on some platforms than others (doing correctly rounded
  2269.      base conversion is expensive). 
  2270.  
  2271.      There are, of course, lots of other possibilities, these are just
  2272.      a starting point.
  2273.  
  2274. Q24) Is there a WEB for Fortran (and what is web anyway)?
  2275.  
  2276.      FWEB is available via anonymous ftp; use archie(above) to
  2277.      determine current location(s).
  2278.  
  2279.      As for the more general question, what is WEB .... WEB is a
  2280.      "literate" programming system created by Knuth (he of reference
  2281.      book fame, and TeX fame, and etc.). It permits the programmer to
  2282.      write code and documentation together. WEB takes the "high level
  2283.      code and documentation" and creates real publishable
  2284.      documentation (using TeX or LaTeX) and compilable code. WEB
  2285.      versions for many languages are available.
  2286.  
  2287.      Some features of FWEB are:
  2288.  
  2289.       1)  FWEB is a pretty printer.  Code is pretty printed by
  2290.           sending the FWEB file through "fweave" and "TeX". fweave
  2291.           inserts TeX control characters around the code for
  2292.           pretty printing.  Fweave also collects a
  2293.           cross-referenced index of *all* identifiers and prints
  2294.           them at the end of the code listing.   
  2295.  
  2296.       2)  FWEB has built in macro preprocessing, which *does*
  2297.           understand FORTRAN syntax and code layout rules.  A line
  2298.           extending beyond column 72 will be broken into proper
  2299.           continuation lines. 
  2300.  
  2301.       3)  FWEB is multilingual: it understands C,C++,f77,f90, and
  2302.           RatFor. 
  2303.  
  2304.  
  2305.  
  2306. Q25) Where can I find coded BLAS (and what are coded BLAS?)
  2307.  
  2308. The BLAS (basic linear algebra software) comes in several flavors:
  2309. BLAS-1, -2, and -3. These can be described as scalar, vector and
  2310. matrix-matrix levels. "Coded" BLAS are either hand coded in assembler,
  2311. or at least tweaked for a given machine. Some vendors provide these,
  2312. some are provided on the net (see archie) and some are marketed by
  2313. various commercial organizations. 
  2314.  
  2315. In addition, it should be noted that BLAS-3 is very amenable to
  2316. parallel processing. Done cleverly, this could be done by a network of
  2317. processors over a net. DSS markets just such an implementation. Contact:
  2318.  
  2319.      Mike Boucher
  2320.     Dakota Scientific Software, Inc.
  2321.     501 East Saint Joseph Street
  2322.     Rapid City, SD  57701-3995
  2323.     fax: (605) 394-1256
  2324.     scisoft@well.sf.ca.us
  2325.  
  2326. for more information about their implementation.
  2327.  
  2328. Q26)  How common is DO ... END DO
  2329.  
  2330.       It is very common; and of course is part of Fortran 90.
  2331.       Compilers claimed to *not* support it (much shorter list this
  2332.       way)
  2333.  
  2334.               1) Salford ftn77/Primos version
  2335.         2) Prime f77 compiler
  2336.         3) Microsoft Fortran for CP/M 8080/Z80 machines    
  2337.         4) Fujitsu VPxxx UXP/M compiler
  2338.  
  2339.       
  2340. Q27) Where can I learn more about the history of Fortran?
  2341. From: metcalf@apofort.cern.ch (Michael Metcalf )
  2342. The history of Fortran is documented in:        
  2343.  
  2344. Annals of History of Computing, 6, 1, January, 1984 (whole issue).
  2345.  
  2346. Programming Systems and Languages (S. Rosen ed.), McGraw Hill, 1967, pp 29-47
  2347.     (this is Backus's original paper).        
  2348.  
  2349. History of Prorammining Languages (R.L. Wexelblat ed.), Academic Press, 1981,
  2350.               pp 25-74.    
  2351.  
  2352. A summary appears in vol. 5 of the Encyclopedia of Science and Technology,
  2353. Academic Press, 1986, under 'Fortran'. 
  2354. and in Chapter 1 of Fortran 90 Explained (Oxford, 1990).
  2355.  
  2356. Q28) Fortran text editors?
  2357.  
  2358. Thomas Koenig, ig25@rz.uni-karlsruhe.de, ig25@dkauni2.bitnet
  2359.       If you use EMACS, you can use M-x fortran-mode.  An extended
  2360.       version, which includes the fortran-auto-fill-mode minor mode, is
  2361.       available via anonymous ftp from hallc1.cebaf.gov [129.57.32.62]
  2362.       in the directory /emacs.
  2363.  
  2364. More generally, Unipress emacs has a Fortran mode. There are XEDIT,
  2365. BRIEF, TPU and EDT clones available on many common platforms these
  2366. days. 
  2367.  
  2368. Newsgroups: comp.lang.fortran
  2369. From: davis@pacific.mps.ohio-state.edu ("John E. Davis")
  2370. Subject: Re: Fortran FAQ
  2371. In-Reply-To: khb@chiba.Eng.Sun.COM's message of 05 Apr 1994 02:14:15 GMT
  2372. Followup-To: comp.lang.fortran
  2373. Reply-To: davis@amy.tch.harvard.edu (John E. Davis)
  2374. Organization: "Dept. of Physics, The Ohio State University"
  2375. Date: Tue, 5 Apr 1994 05:51:14 GMT
  2376.  
  2377. In article <KHB.94Apr4191416@chiba.Eng.Sun.COM> khb@chiba.Eng.Sun.COM (chiba)
  2378. writes:
  2379.    Q28) Fortran text editors?
  2380.    [...]
  2381.    More generally, Unipress emacs has a Fortran mode. There are XEDIT,
  2382.    BRIEF, TPU and EDT clones available on many common platforms these
  2383.    days. 
  2384.  
  2385. In addition, JED has a Fortran mode that is very much like the emacs Fortran
  2386. mode.  JED also has a very nice EDT emulation and runs on MSDOS, Unix, VMS, as
  2387. well as DEC Alpha systems.
  2388.  
  2389. The latest version of JED is on amy.tch.harvard.edu in pub/jed.  Archie will
  2390. show it elsewhere but these versions are somewhat dated.  The latest version
  2391. is 0.95.  Despite the fact that the version number is below 1.0, the editor is
  2392. VERY stable--- the version is below 1.0 because I feel that the documentation
  2393. is not quite up to 1.0 levels.
  2394.  
  2395. Here is a partial list of features:
  2396.  
  2397.     runs under Unix, VMS, and IBMPC (all versions)
  2398.     X Window version also available
  2399.     emacs*, wordstar*, EDT* emulation
  2400.     C, Fortran*, tex*, text editing modes
  2401.     C-like extension language called S-Lang.
  2402.     user configurable (bind keys, write functions, etc....)
  2403.     region highlighting (even on character based terminals!)
  2404.     Syntax highlighting in Beta test (even on character based terminals)
  2405.     8 bit clean, edit binary files too.
  2406.     rectangular (box) cut/paste
  2407.     backup and autosave files
  2408.     full undo
  2409.     regular expressions
  2410.     GNU Emacs compatable info reader*
  2411.     calendar*
  2412.     mail*, elm like rmail* (rmail new in 0.95 version)
  2413.     dired directory editor*
  2414.     automatic horizontal pan/scroll  (configurable)
  2415.     parenthesis matching/blinking
  2416.     filename, buffername, function name completion
  2417.     Menu driven for novice users*
  2418.     incremental search/replace*
  2419.     sorting
  2420.     no hardcoded buffer/line limits
  2421.     multiple windows and buffers
  2422.     keyboard macros with macro query feature.
  2423.     buffer mode lines are configurable, e.g., display time, line number, etc...
  2424.     ispell*
  2425.     shell commands and ``interactive'' shell*
  2426.  
  2427. * Note:  these functions are written in the extension language.
  2428.  
  2429.     
  2430. --
  2431.      _____________
  2432. #___/John E. Davis\_________________________________________________________
  2433. #
  2434. # internet: davis@amy.tch.harvard.edu
  2435. #   bitnet: davis@ohstpy
  2436. #   office: 617-735-6746
  2437. #
  2438.  
  2439. Q29) What are ENCODE and DECODE statements, and how are they translated to
  2440.      standard Fortran?
  2441.  
  2442. ENCODE and DECODE are vendor extensions to Fortran (invented in the
  2443. sixties, long before X3.9-1978 added internal I/O to the language)
  2444. which are most often used to convert data between numeric and
  2445. character representations.  They may be viewed as formatted writes to
  2446. (ENCODE) or reads from (DECODE) memory.  The standard-conforming
  2447. alternatives are internal write and internal read statements
  2448. respectively.
  2449.  
  2450. For example,
  2451.      INTEGER MONTH, DAY, YEAR
  2452.      MONTH = 7
  2453.      DAY = 4
  2454.      YEAR = 93
  2455. C    FORM THE STRING  7/ 4/93 IN VARIABLE "DATE"
  2456.      ENCODE (8,10,DATE) MONTH,DAY,YEAR
  2457.  10  FORMAT (I2,'/',I2,'/',I2)
  2458.  
  2459. The above can be translated as "write 8 characters, formatted according to
  2460. format 10, storing the results in variable DATE, and using the contents of
  2461. variables MONTH, DAY, and YEAR as the data to write."
  2462.  
  2463. A DECODE statement would be used to reverse the process (extract the
  2464. variables MONTH2, DAY2, and YEAR2 from the string DATE).  Thus:
  2465.  
  2466.      INTEGER MONTH2, DAY2, YEAR2
  2467.      DECODE (8,20,DATE) MONTH2, DAY2, YEAR2
  2468.  20  FORMAT (I2,1X,I2,1X,I2)
  2469.  
  2470. Conversion of ENCODE/DECODE to standard Fortran-77 is not difficult.  The
  2471. critical thing to remember is that the variable to be written to (ENCODE)
  2472. or read from (DECODE) must be a CHARACTER variable which is long enough to
  2473. contain the string.  The first number within the parentheses (in this case
  2474. 8) is the minimum length to use in a type declaration.  Thus a standard-
  2475. conforming equivalent of the above example is:
  2476.  
  2477.      CHARACTER*8 DATE
  2478.      INTEGER MONTH, DAY, YEAR
  2479.      INTEGER MONTH2, DAY2, YEAR2
  2480.      MONTH = 7
  2481.      DAY = 4
  2482.      YEAR = 93
  2483.      WRITE (DATE,10) MONTH, DAY, YEAR
  2484.  10  FORMAT (I2,'/',I2,'/',I2)
  2485.      READ (DATE,20) MONTH2, DAY2, YEAR2
  2486.  20  FORMAT (I2,1X,I2,1X,I2)
  2487.  
  2488. Although the above example used integers, any other data type may also be
  2489. used.
  2490.  
  2491. <forags@nature.berkeley.edu (Al Stangenberger)>
  2492.  
  2493. Q30) Tell me about Parallel Fortran dialects, what are they,etc.
  2494.  
  2495. Newsgroups: comp.lang.fortran,comp.parallel.pvm
  2496. From: lfm@pgroup.com (Larry Meadows)
  2497. Subject: Re: Parallel FORTRAN Questions
  2498. Date: Fri, 20 Aug 1993 00:13:33 GMT
  2499. Nntp-Posting-Host: pacific2.pgroup.com
  2500. Organization: The Portland Group
  2501.  
  2502. spencer@glint.mcc.com (Steve Spencer) writes:
  2503.  
  2504. >We are trying to decide what parallel FORTRAN environment
  2505. >to port to a MIMD multiprocessor that we are building 
  2506. >for ARPA. We are looking for information on the follwing
  2507. >environments:
  2508.  
  2509. >    FORTRAN90
  2510. >        HPF (High Performance FORTRAN from Rice U. I think)
  2511. >    FORTRAN D
  2512. >        PVM (works with F77 to provide a parallel env.)
  2513.  
  2514. >Does anyone know where we can get information on the 
  2515. >above programming environments or any others that may
  2516. >be appropriate?
  2517.  
  2518. Fortran90 is an ANSI and an ISO standard.  The usual reference is
  2519. Fortran 90 Handbook, published by McGraw Hill.  Several vendors provide
  2520. Fortran 90 translators and/or compilers.
  2521.  
  2522. HPF is Fortran 90 augmented with data distribution statements to
  2523. allow portable programming for distributed memory multiprocessors.
  2524. The language was defined by a committee consisting of over 40
  2525. organizations over a period of about one year.  The effort was
  2526. spearheaded by Geoffrey Fox and Ken Kennedy.  Several vendors have
  2527. announced HPF products or development efforts.
  2528. The language document is available via anoymous ftp:
  2529.  
  2530.     ftp cs.rice.edu
  2531.     cd public/HPFF/draft
  2532.     get hpf-v10-final.ps.Z
  2533.  
  2534. Fortran D is a precursor to HPF; as a commercial product it has been
  2535. superceded by HPF, but several academic projects still exist that target
  2536. Fortran D.
  2537.  
  2538. PVM is a message passing library and run-time environment; as such, it
  2539. exists at a lower level than the previous items.  One might imagine an
  2540. HPF compiler that produced FORTRAN77 with calls to PVM.  There is a newsgroup
  2541. on PVM.  It is available through netlib, and possibly from Oak Ridge as
  2542. well.
  2543.  
  2544. Hope this helps.
  2545. --
  2546. Larry Meadows        The Portland Group
  2547. lfm@pgroup.com
  2548. ;;;;
  2549. Q31) Where can I find a f90 tutorial?
  2550.  
  2551.  
  2552.  
  2553. Newsgroups: comp.lang.fortran
  2554. From: metcalf@apofortn.cern.ch (Michael Metcalf )
  2555. Subject: f90 tutorial on World Wide Web
  2556. Keywords: f90 WWW
  2557. Organization: CERN European Lab for Particle Physics
  2558. Date: Wed, 24 Nov 1993 12:15:43 GMT
  2559.  
  2560.  
  2561.    Those of you with access to the World Wide Web (WWW) may like    
  2562. to know that my colleague Michel Goossens has now installed a    
  2563. Fortran 90 tutorial under the URL
  2564.  
  2565.   http://asis01.cern.ch/CN/CNTUT/f90/Overview.html        
  2566.                
  2567. There is no copyright on this material.
  2568.      
  2569.    To access WWW, try typing www on your workstation or look for    
  2570. its icon on your PC. If it's unavailable, please contact your    
  2571. system manager, not me.
  2572.  
  2573.  
  2574.                       Mike Metcalf
  2575.                       (metcalf@cern.ch)
  2576.  
  2577. Q32) Where can I get mathematical software
  2578.  
  2579.     There are, of course, many commerical operations which provide
  2580.     high quality software. NAG and IMSL to name just two.
  2581.  
  2582.     netlib and archie (mentioned above) can be used to good effect
  2583.     to find specific freeware (public domain, shareware or mostly freely 
  2584.     distributable source).
  2585.  
  2586.     In addition, NASA's COSMIC distributes some government funded
  2587.     software.  
  2588.  
  2589.     One particular bit of NASA software, MATH77 a large math
  2590.     library created by numerical analysts at JPL is available from:
  2591.  
  2592.         Language Systems Corp.
  2593.         441 Carlisle Dr.
  2594.         Herndon, VA 22070
  2595.         (800) 252-6479
  2596.         email: langsys@aol.com 
  2597.  
  2598. Q33) What is the best Fortran for...
  2599.  
  2600. Such recommendations are, at best, personal opinions. I've <khb>
  2601. tracked some of the discussions and it would appear that
  2602.  
  2603.     a) For the mac, Language Systems
  2604.  
  2605.     800-252-6479 (inside US and Canada)
  2606.     703-478-0181
  2607.     703-689-9593 (fax)
  2608.     703-709-0134 (BBS)
  2609.  
  2610.     langsys (Applelink)
  2611.     langsys (America Online)
  2612.     langsys@aol.com (Internet)
  2613.  
  2614.     Language Systems Corp.
  2615.     100 Carpenter Drive
  2616.     Sterling, VA 20164
  2617.  
  2618.     b) For the PC it is harder. Many like Lahey
  2619.  
  2620.     Lahey Computer Systems, Inc.
  2621.     865 Tahoe Blvd.
  2622.     P.O. Box 6091
  2623.     Incline Village, Nevada 89450
  2624.  
  2625.     Phones: (800) 548-4778
  2626.             (702) 831-2500
  2627.  
  2628.     Fax:    (702) 831-8123
  2629.     BBS:    (702) 831-8023.
  2630.  
  2631.     UUNET: Sales        sales@lahey.com 
  2632.            Tech support support@lahey.com
  2633.  
  2634.     Good code generation, good diagnostics, fast compilation, and
  2635.     good support are often quoted as reasons why folks liked LCS.
  2636.  
  2637.  
  2638. Q34) What Classes are available (an ever changing list)
  2639.  
  2640. Date: Wed, 29 Jun 94 09:19:59 EDT
  2641. From: "Janice Shepherd" <JANSHEP@TOROLAB2.VNET.IBM.COM>
  2642. To: comp-fortran-90@mailbase.ac.uk
  2643. Subject: Fortran 90 course
  2644. X-List: comp-fortran-90@mailbase.ac.uk
  2645. Reply-To: "Janice Shepherd" <JANSHEP@TOROLAB2.VNET.IBM.COM>
  2646. Sender: comp-fortran-90-request@mailbase.ac.uk
  2647. Precedence: list
  2648.  
  2649. If you are anywhere near Toronto and you want to learn more about
  2650. Fortran 90, you might be interested in the following course.
  2651. There is some mention of extensions, but the bulk of the course
  2652. concentrates on Fortran 90.
  2653.  
  2654. The XL Fortran team has recently put together a three-day hands-on
  2655. course that focuses on: 1) the new features introduced by Fortran 90,
  2656. and 2) XL Fortran extensions.  The first offering takes place later
  2657. this year in Toronto.  Please let Luc know if you have any questions.
  2658.  
  2659.   SCHEDULE        October 12-14, 1994 (9:00AM - 5:00PM)
  2660.   LOCATION        IBM Canada Limited
  2661.                   3600 Steeles Avenue East
  2662.                   Markham, Ontario (just outside Toronto)
  2663.   COST            $1185 (Canadian) per student
  2664.   PREREQUISITES   FORTRAN 77 experience and some UNIX knowledge
  2665.   REGISTRATION    Contact IBM Education and Training (1-800-661-2131 or
  2666.                   905-946-1100)
  2667.   COURSE DETAILS  Contact Luc Chamberland (lchamber@torolab4 or
  2668.                   lchamber@vnet.ibm.com)
  2669.  
  2670. Janice C. Shepherd
  2671. IBM Toronto Lab.
  2672.  
  2673. ;;;
  2674.  
  2675. Bo Einarsson and Yurij Shokin have written a tutorial on the transition
  2676. from Fortran 77 to Fortran 90, with the title "Fortran 90 for the Fortran 77
  2677. programmer". The English version is available as a pure ASCII text file
  2678. via anonymous ftp from the computer nsc.liu.se (130.236.100.5) and is
  2679. available in the directory pub/bibliotek as the file f77to90.txt. 
  2680. ;;;;
  2681.  
  2682.  
  2683. Q35) f90.faq
  2684.  
  2685.  
  2686. F90 FAN's : Fortran 90 Frequently Asked about News.
  2687. A Fortran 90 addition to the Fortran FAQ.
  2688.  
  2689. Michel Olagnon - October   1st, 1993.
  2690. Last updated   - May      24th, 1994.
  2691.  
  2692. Send flames and suggestions for improvement to Michel.Olagnon@ifremer.fr
  2693.  
  2694. Contents :
  2695. ========
  2696.  
  2697. |  1.- Fortran 90 and Fortran 77
  2698.    2.- Available in Fortran 90:
  2699.        Compilers
  2700. |      Code re-structurers and converters
  2701. |      Libraries and utilities
  2702.        Tests and Benchmarks
  2703.        Tutorials
  2704.        Examples
  2705.        Courses and Consultancy
  2706.    3.- Documentation:
  2707.        Standards
  2708.        Journals
  2709. |      Books
  2710. |      Articles
  2711.    4.- Fortran 90 Benchmarking
  2712.    5.- Announced, foreseen, and rumours
  2713.    6.- Workshops, seminars, conferences
  2714.    7.- Developments, related languages
  2715.        Standard
  2716.        HPF
  2717.        PVM
  2718.        Parallel Programming
  2719.    8.- Addresses
  2720.  
  2721.  
  2722. 1.- Fortran 90 and Fortran 77:
  2723. ##############################
  2724.  
  2725.   Fortran 90 is, with very few exceptions, a superset of Fortran 77.
  2726. The FAQ of the Usenet group Comp.lang.fortran deals with both 
  2727. standards, and may be obtained, like any FAQ, via anonymous ftp from
  2728. rtfm.mit.edu, directory /pub/usenet. It is also available on the WWW
  2729. http://www.cis.ohio-state.edu/hypertext/faq/usenet/fortran-faq/faq.html
  2730.   The present document is an attempt to supplement that FAQ with some
  2731. specific Fortran 90 information.
  2732.   Anyone interested is also invited to join the mailbase list
  2733. comp-fortran-90, by sending an e-mail message to mailbase@mailbase.ac.uk,
  2734. containing as the only line:
  2735. join comp-fortran-90 <firstname> <lastname>
  2736.  
  2737.   The main extensions of Fortran 90 over Fortran 77 are:
  2738.  * array notation (for instance, X(1:N)=R(1:N)*COS(A(1:N)))
  2739.  * dynamic memory allocation (ALLOCATE, DEALLOCATE, ...)
  2740.  * derived types and operator overloading
  2741.  * better declarations, and prototyping possible
  2742.  * MODULES, allowing users to create ``storage pools'',
  2743.     or to define environment
  2744.  * more of modern control structures (SELECT CASE, EXIT, ...)
  2745.  * more of useful intrinsics (date, precision, arrays, ...)
  2746.  * free format source code form
  2747.  
  2748.   ``Pure'' Fortran 77 is F90 compatible. Yet, it is better to convert
  2749. it to a ``mixed'' format, acceptable both as free and fixed source
  2750. form Fortran 90, which only requires replacing C by ! as the comment
  2751. character, to use & as the continuation line character, and
  2752. to append it to the continued line, to remove blanks embedded inside
  2753. constants or identifiers, and to check some intrinsics usage. Most
  2754. of this can be done automatically.
  2755.  
  2756.   Fortran 90 allows the Fortran 77 programmer to write code faster,
  2757. to make it more legible, and to avoid many bugs. For a newcomer to
  2758. programming, it is an opportunity to learn a modern language, with
  2759. most recommended features, and yet to be in line with scientific
  2760. and industrial engineering communities where Fortran is and is going
  2761. to remain for a good while THE favourite language.
  2762.  
  2763. 2.- Available in Fortran 90:
  2764. ############################
  2765.  
  2766. Compilers
  2767. ---------
  2768.   CRAY              CF90 - presently, for Crays YMP and YMP-C90
  2769.  
  2770.   EPC Fortran 90         - for Sparc Solaris 1.X and 2.X, IBM RS/6000,
  2771.                            Intel 3/486 (SVR3&4, Solaris 2.x),
  2772.                            Motorola 88000/100/100 (SVR3&4)
  2773.  
  2774.   IBM             XLF V3 - full compiler for RISC System/6000 
  2775.  
  2776.   MicroWay               - for DOS, OS/2, Unix
  2777.   
  2778.   NAG                f90 - uses C as intermediate language
  2779.  
  2780.   Pacific Sierra VAST-90 - uses F77 as intermediate language
  2781.  
  2782.   Parasoft               - uses F77 as intermediate language
  2783.  
  2784.   Salford          FTN90 - PC implementation of NAG f90, direct
  2785.                            generation of object code.
  2786.  
  2787.   NOTE: Some vendors, such as Fujitsu with its "Numerical Workbench"
  2788.         for Sparc Solaris 2.x, or Convex on their machines, offer
  2789.         a number of F90 extensions, for instance array syntax or
  2790.         ALLOCATE instruction.
  2791.  
  2792. Code re-structurers and converters
  2793. ----------------------------------
  2794.   Pacific-Sierra VAST-90 (see article by JKP in Fortran Journal 5/4)
  2795.  
  2796.   FOREST-90, by Simulog
  2797.  
  2798.   NAGWare f90 tools, pretty-printer, declarations standardiser,
  2799.                      precision standardiser, names changer.
  2800.  
  2801.   CONVERT, conversion to F90 free format, proposed by
  2802.                           Mike Metcalf via anonymous ftp on
  2803.                           jkr.cc.rl.ac.uk (130.246.8.23),
  2804.                           file /pub/MandR/convert.f90.
  2805.  
  2806.   ftof90.c, minimal F77 -> F90 conversion, via anonymous ftp on
  2807.                           molene.ifremer.fr (134.246.150.6),
  2808.                           file pub/ifremer/fortran90/ftof90.c)
  2809.  
  2810. Libraries and utilities
  2811. -----------------------
  2812.   NAG fl90, numerical and statistical library, Sun 4 and Sgi.
  2813.   
  2814.   Syntax verifier extracted from NAG compiler, put into
  2815.            public domain by NAG for Sun 3, Sun 4, Sgi.
  2816.  
  2817.   Lahey has F90 components (manual, array intrinsics, front end,...)
  2818.            that they would like to license to others.
  2819.  
  2820.   CADNA, by professeur Vignes from Universite Pierre et Marie Curie,
  2821.            implements stochastic arithmetic in Fortran 90, and
  2822.            enables monitoring of precision loss and/or numerical
  2823.            instabilities during execution. (Control of Accuracy
  2824.            and Debugging for Numerical Aplications in Fortran)
  2825.            More information available from ICHOR. (see also
  2826.            aricles by J. Vignes)
  2827.  
  2828.  
  2829.   ISO/IEC 1539-2            - Variable length character strings
  2830.  (Draft auxiliary standard)   in Fortran (with a demonstration
  2831.                               of implementation)
  2832.   
  2833.   LAPACK, (minimaly) translated by myself, successfully passed
  2834.           all its tests with NAg-f90 2.0.
  2835.           I aggressively translated single precision Blas,
  2836.           and intend to do the same with other Blas as soon as
  2837.           I have time.
  2838.           Steve Moulton works on LAPACK conversion.
  2839.  
  2840. Tests and Benchmarks
  2841. --------------------
  2842.   
  2843.   NAGware Test suite   - tests for compilers (same (?) as:
  2844.   U_F90_TS Test suite  - from Dr. Brian Smith (University
  2845.                     of New Mexico), marketed by Unicomp and NAG.
  2846.  
  2847.   Lahey Test suite     - F77 & F90 (license agreement)
  2848.  
  2849.   SHAPE Test suite     - 3400 tests of array instructions,
  2850.                          from Spackman & Hendrickson, Inc.
  2851.   
  2852.   Parasoft Test suite  - 1500 tests for compilers
  2853.   
  2854.   Quetzal Benchmark from John K. Prentice, via anonymous ftp on
  2855.                     unmfys.unm.edu, in pub/quetzal.
  2856.  
  2857.   Benchmark of Syracuse University, via anonymous ftp on
  2858.                     minerva.npac.syr.edu, in /benchmark.
  2859.  
  2860.   Channel benchmark by John D. McCalpin, via anonymous ftp on 
  2861.                     perelandra.cms.udel.edu, in bench/channel.
  2862.  
  2863. Tutorials
  2864. ---------
  2865.    Michel Goossens has now installed a Fortran 90 tutorial on the
  2866.   World Wide Web (WWW) under the URL :
  2867.     http://asis01.cern.ch/CN/CNTUT/f90/Overview.html
  2868.   There is no copyright on this material.
  2869.  
  2870.  
  2871. Examples
  2872. --------
  2873.   Nag has set up a repository for contributed code:
  2874.       WWW:  http://www.nag.co.uk:70/1/nagware/Examples
  2875.    Gopher:  Host=www.nag.co.uk, Port=70, Type=1, Path=1/nagware/Examples
  2876.  
  2877.   Lahey Computer Systems is planning to set up an FTP'able site for F90 
  2878.         modules - a kind of clearing house for public domain code.
  2879.         More info soon !
  2880.  
  2881.   11 000 lines offered by Richard Maine via anonymous ftp on
  2882.                           ftp.dfrf.nasa.gov (130.134.64.17),
  2883.                           file pub/fdas/f90sample/fdas.tar.Z
  2884.                           
  2885.   STEJOI, statistical package for joint occurrence events, on Sun,
  2886.                           including source code and everything, 
  2887.                           via anonymous ftp on molene.ifremer.fr,
  2888.                           file pub/ifremer/fortran90/f90dvl.tar.Z.
  2889.  
  2890.   Module unsigned_32, for definition and use of unsigned 32 bits
  2891.                           integers, also on molene.ifremer.fr,
  2892.                           file pub/ifremer/fortran90/unsi32.f90.Z.
  2893.  
  2894.   Algorithm 999 by A.G. Buckley for unconstrained nonlinear
  2895.                           minimization, on ftp.royalroads.ca,
  2896.                           pub/software/bbuckley/alg999/source.
  2897.  
  2898. Courses and Consultancy
  2899. -----------------------
  2900.       IT Independent Training Limited, UK
  2901.  
  2902.       CTS, Germany
  2903.  
  2904.       Unicomp, USA
  2905.       Pacific-Sierra Research Corp., USA
  2906.   
  2907.  
  2908. 3.- Documentation:
  2909. ##################
  2910.  
  2911. Standards
  2912. ---------
  2913. ISO/IEC 1539:1991 (E)
  2914. International Standard
  2915. Information technology - Programming langages - Fortran
  2916. Somewhat expensive (CHF 210 ~ US$ 140 !) for instance, at ISO.
  2917. Surprisingly enough, the identical, save for foreword and
  2918. acknowledgements, ANSI standard X3.198-1992 is even more expensive.
  2919. Walter S. Brainerd, Unicomp., offers:
  2920. - for 125 US$, an electronic ascii monouser version,
  2921. - for 125 + 10n US$, an electronic PostScript version, and the right
  2922. to make n paper copies,
  2923. - or for 1000 US$, an electronic ditroff monouser version.
  2924.  
  2925. A French translation is available as European norm NF EN 21539.
  2926.  
  2927.  
  2928. Journals
  2929. --------
  2930. Fortran Journal
  2931. ISSN 1060-0221
  2932. Enquiries: Walt Brainerd walt@netcom.com
  2933. Subscriptions: Fortran Users Group / P.O. Box 4201 / Fullerton, CA 92634
  2934.              (about $30/year individual, $100/year company, 
  2935.               ~$50/$150 outside the USA, call 1 (714) 441 2022)
  2936.  
  2937. Fortran Forum
  2938. edited by Loren Meissner.
  2939.  
  2940.  
  2941. Books
  2942. ------
  2943.  
  2944.  * in English,
  2945.  
  2946. Adams, Brainerd, Martin, Smith, Wagener.
  2947. Fortran 90 Handbook, McGraw-Hill, 1992.
  2948. ISBN 0-07-000406-4
  2949.  
  2950. Brainerd, W., Goldberg, and Adams.
  2951. Programmer's guide to Fortran 90, 2nd edition, Unicomp, 1994.
  2952. ISBN 0-07-000248-7
  2953.  
  2954. Counihan.
  2955. Fortran 90, Pitman, 1991.
  2956. ISBN 0-273-03073-6
  2957.  
  2958. Ellis, T.M.R, Lahey, T. and Philips, I.
  2959. Fortran 90 Programming, Addison Wesley, 1994
  2960. ISBN 0-201-54446-6
  2961.  
  2962. Hahn, B.D.
  2963. Fortran 90 for Scientists and Engineers, Edward Arnold, 1994.
  2964. ISBN 0-340-60034-9
  2965.  
  2966. Kerrigan, J.
  2967. Migrating to Fortran 90, O'Reilly and Associates, 1993
  2968. ISBN 1-56592-049-X
  2969.  
  2970. Charles H. Koelbel, David B. Loveman, Robert S. Schreiber,
  2971. Guy L. Stelle Jr., Mary E. Zosel
  2972. High Performance Fortran Handbook, MIT Press, 349 pages, 1994.
  2973. ISBN 0-262-61094-9 $24.95 in paper back
  2974. ISBN 0-262-11185-3 $45 for hard cover
  2975.  
  2976. Metcalf, M. and Reid, J.
  2977. Fortran 90 Explained, Oxford University Press, 1992.
  2978. ISBN 0-19-853772-7
  2979.  
  2980. Morgan and Schonfelder,
  2981. Programming in Fortran 90, Alfred Waller Ltd., 1993.
  2982. ISBN 1-872474-06-3
  2983.  
  2984.  * in French,
  2985.  
  2986. ABERTI, C.
  2987. Fortran 90: Initiation  partir du Fortran 77, Serie Informatique, 1992.
  2988. ISBN 2-090615-00-6
  2989.  
  2990. AIN, M.
  2991. Savez-vous parler Fortran, Bibliotheque des universites (de Boeck), 1994.
  2992. ISBN 2-8041-1755-3
  2993.  
  2994. DELANNOY, C.
  2995. Programmer en Fortran 90, Eyrolles, 1992.
  2996. ISBN 2-212-08723-3
  2997.  
  2998. DUBESSET, M. et VIGNES, J.
  2999. Les specificites du Fortran 90, editions Technip, 1993.
  3000. ISBN 2-7108-0652-5
  3001.  
  3002. LIGNELET, P.
  3003. Fortran 90: Approche par la Pratique, Serie Informatique, 1993.
  3004. ISBN 2-090615-01-4
  3005.  
  3006. METCALF, M. et REID, J. (translated by M. Caillet and B. Pichon)
  3007. Fortran 90: Les concepts fondamentaux, AFNOR Editions, 1993.
  3008. ISBN 2-12-486513-7
  3009.  
  3010.  
  3011.  * in German,
  3012.  
  3013. Gehrke.
  3014. Fortran 90 Referenz-Handbuch, Carl Hansen Verlag, 1991.
  3015. ISBN 3-446163-21-2
  3016.  
  3017. Heisterkamp.
  3018. Fortran 90: Eine Informelle Einfuehrung, BI-Wissenschaftsverlag, 1991.
  3019. ISBN 3-411153-21-0
  3020.  
  3021. Langer.
  3022. Programmieren in Fortran, Springer Verlag, 1993.
  3023. ISBN 0-387-82446-4
  3024.  
  3025. Schobert, Oldenburg.
  3026. Programmierung in Fortran 90, 1991.
  3027.  
  3028. Ueberhuber, C., Meditz, P.
  3029. Software-Entwicklung in Fortran 90, Springer Verlag, 1993.
  3030. ISBN 0-387-82450-2
  3031.  
  3032. Wojcieszynski, B, Wojcieszynski, R.
  3033. Fortran 90 Programmieren mit dem neuen Standard, Addison-Wesley, 1993.
  3034. ISBN 3-89319-600-5.
  3035.  
  3036.  
  3037.  * in Russian,
  3038.  
  3039. Metcalf, Reid
  3040. Fortran 90 Explained
  3041.  
  3042.  * in Japanese
  3043.  
  3044. Metcalf, Reid (translated by H.Nisimura, H.Wada, K.Nishimura, M.Takata)
  3045. Fortran 90 Explained, Kyoritsu Shuppan Co., Ltd., 1993
  3046.  
  3047.  
  3048. Articles
  3049. --------
  3050. Appleby, D., FORTRAN First in a six-part series on languages that have
  3051. stood the test of time -- BYTE, Sep. 1991, 147-150
  3052.  
  3053. Bernheim, M., Fortran Mode d'emploi - Fortran 90 -- Intereditions (1991)
  3054. 163-176
  3055.  
  3056. Brankin, R.W., Gladwell, I., A Fortran 90 Version of RKSUITE: An ODE Initial
  3057. Value Solver, Annals of Numerical Mathematics, Vol 1, 1994, in press.
  3058.  
  3059. Buckley, Albert G., Conversion to Fortran 90: A Case Study -- accepted
  3060. (Sep. 93) for ACM TOMS (ftp.royalroads.ca:pub/software/bbuckley/alg999)
  3061.  
  3062. Buckley, Albert G., Algorithm 999: A Fortran 90 code for unconstrained
  3063. non linear minimisation -- accepted (Sep. 93) for ACM TOMS
  3064.  
  3065. Chesneaux, J.M., Description d'utilisation du logiciel CADNA_F --
  3066. MASI 92.32 (1992) Institut Blaise Pascal, Paris
  3067.  
  3068. Corde, P., Girou, D., Fortran 90: la nouvelle norme -- Tribunix
  3069. Dossiers calculateurs, Vol 8. No. 41 (1992) 12-17
  3070.  
  3071. Du Croz, Jeremy J., Building Libraries with Fortran 90
  3072. Fortran Journal 4/5, Sep./Oct 1992
  3073.  
  3074. Glassy, L., Tiny-Ninety: A subset of F90 for beginning programmers --
  3075. Fortran Journal 4/3, May/Jun. 1992, 2-6
  3076.  
  3077. Hanson, R.J., A design of high-performance Fortran 90 Libraries --
  3078. IMSL technical report series No. 9201 (1992)
  3079.  
  3080. Hanson, R.J., Matrix multiplication in Fortran 90 using Strassen's
  3081. algorithm -- Fortran Journal 4/3, May/Jun. 1992, 6-7
  3082.  
  3083. Iles, Robert, Fortran 90: The First Two Years -- Unicom Seminar on
  3084. Fortran and C in Scientific Computing, 1993.
  3085.  
  3086. Iles, R., Palant, L., Fortran 90: 2 ans deja -- Tribunix No. 49
  3087. Mai/Juin 1993, 32-37.
  3088.  
  3089. Lahey, T., Fortran 90 is coming ! -- Programmer's Journal, Mar/Apr 1991.
  3090.  
  3091. Lignelet, P., Fortran -- Les Techniques de l'ingenieur, H2120, Dec 1993.
  3092.  
  3093. Maine, R., Review of NAG Fortran 90 translator -- Fortran Journal 3/6,
  3094. Nov/dec 1991.
  3095.  
  3096. Metcalf, M., Recent progress in Fortran standardization -- Computer
  3097. Physics Communications 57 (1989) 78-83.
  3098.  
  3099. Metcalf, M., Fortran 90 - A summary -- Int. Journal of modern Physics C,
  3100. Vol. 1, Nos. 2&3 (1990) 193-206.
  3101.  
  3102. Metcalf, M., A derived data type for data analysis -- Computers in
  3103. Physics, Nov/Dec 1991, 599-604.
  3104.  
  3105. Metcalf, M., A first encounter with Fortran 90 -- Fortran Journal 4/1,
  3106. Jan/Feb 1992, 2-7.
  3107.  
  3108. Metcalf, M., An encounter with F90 -- Particle World 3/3 (1993),
  3109. 130-134.
  3110.  
  3111. Metcalf, M., Fortran 90 Tutorial -- CERN Computer Newsletter,
  3112. Nos. 206/207/208/209/210/211 (1992-1993).
  3113.  
  3114. Metcalf, M., Using the f90 compiler as a software tool -- CERN Computer
  3115. Newsletter, No. 209 (1992).
  3116.  
  3117. Metcalf, M., Still programming after these years -- New Scientist,
  3118. (12 Sep. 1992), 30-33
  3119.  
  3120. Olagnon, M., Experience with NagWare f90 -- Fortran Journal 4/6,
  3121. Nov/dec 1992, 2-5.
  3122.  
  3123. de Polignac, Christian, Du Fortran VAX au Fortran 90 -- Decus, Paris,
  3124. 7 Avril 1993.
  3125.  
  3126. Prentice, John K., Fortran 90 benchmark results -- Fortran Journal 5/3,
  3127. May/June 1993.
  3128.  
  3129. Reid, John, The Fortran 90 Standard -- Programming environments for high
  3130. level scientific problem solving, Gaffney ed., IEEE Trans.,
  3131. North-Holland (1992), 343-348.
  3132.  
  3133. Reid, John, Fortran 90, the language for scientific computing in the
  3134. 1990s --Unicom Seminar on Fortran and C in Scientific Computing, 1992
  3135.  
  3136. Reid, John, The advantages of Fortran 90 -- Computing 48, 219-238.
  3137.  
  3138. Robin, F., Fortran 90 et High Performance Fortran, Bulletin technique
  3139. CEA, Oct. 1992, 3-7.
  3140.  
  3141. Sawyer, M., A summary of Fortran 90 -- EPCC-TN92-04, Univ. of Edinburgh,
  3142. (1992).
  3143.  
  3144. Schonfelder, J.L., Semantic extension possibilities in the proposed
  3145. new Fortran -- Software practice and experience, Vol.19, (1989),
  3146. 529-551.
  3147.  
  3148. Schonfelder, J.L., Morgan, J.S., Dynamic strings in Fortran 90 -- 
  3149. Software practice and experience, Vol.20(12), (1990), 1259-1271.
  3150.  
  3151. Sipelstein, J.M., Blelloch, G.E., Collection-oriented languages --
  3152. Proceedings of the IEEE, Vol. 79, No. 4, (1991), 504-530.
  3153.  
  3154. Vignes, Jean, Vers un calcul scientifique fiable : l'arithmetique
  3155. stochastique -- La Vie des Sciences, Comptes rendus, serie generale,
  3156. tome 10, 1993, No 2, 81-101.
  3157.  
  3158. Vignes, Jean, A stochastic arithmetic for reliable scientific computation
  3159. MATCOM 940 - Mathematics and Computers in Simulation 35 (1993) 233-261.
  3160.  
  3161. Walker, D.W., A Fortran 90 code for magnetohydrodynamics. Part I:
  3162. banded convolution -- Oak Ridge National Lab. report TM-12032 (1992).
  3163.  
  3164. Walter, W., Fortran 90: Was bringt der neue Fortran-Standard fuer das
  3165. numerische Programmieren ? -- Jahrbuch Ueberblicke Mathematik Vieweg,
  3166. (1991) 151-174.
  3167.  
  3168. Wampler, K. Dean, The Object-Oriented programming Paradigm and Fortran
  3169. programs -- Computers in Physics, Jul/Aug 1990, 385-394.
  3170.  
  3171. Willhoft, Robert G., Comparison of the functional Power of APL2 and
  3172. Fortran 90 -- APL Quote Quad, 1991
  3173.  
  3174.  
  3175. 4.- Fortran 90 Benchmarking
  3176. ###########################
  3177.  
  3178.   An interesting article by John K. Prentice appeared in the
  3179. May/June 93 issue of Fortran Journal.
  3180. He also gave a more complete one in HPNews July/August 93.
  3181.  
  3182.   I made some tests myself with LAPACK, and got a ratio of 10
  3183. between Sun f77 and Nag f90 2.0 when no source change was performed.
  3184. With an aggressive rewriting, especially using array instructions
  3185. and intrinsics, the ratio gets back to 2, which is also that of a
  3186. f77 [sd]axpy to a C one.
  3187.  
  3188.   On actual applications, this ratio seems to be much closer to 1,
  3189. and even sometimes in favor of Fortran 90. On Sept. 7th, 1993, John
  3190. wrote "I think there is in fact beginning to be a quite large body of
  3191. evidence to suggest that most of the efficiency fears about F90 are
  3192. unfounded."
  3193.  
  3194.   For Nag f90 on workstations, the effect of the underlying C
  3195. compiler (gcc, vendor, etc...) seems very limited (less than 4%).
  3196.  
  3197.  
  3198. 5.- Announced, foreseen, and rumours
  3199. ####################################
  3200.  
  3201.   CRAY full compiler CF90 in a Sparc version in 94
  3202.   DEC full compiler (officially June 1994)
  3203.   Sun full compiler (unofficially mid-94)
  3204.   MicroSoft after next release of present PowerStationFortran 
  3205.   Lahey (2nd quarter 94,
  3206.          pre-order, +400$ when buying F77L-EM/32)
  3207.   NA Software F90+, from ESPRIT - Supernode II project (June 1994)
  3208.   
  3209. 6.- Workshops, seminars, conferences
  3210. ####################################
  3211.  
  3212.    3 -  5 May  94. "Parallel processing in Fortran" Seminar,
  3213.     Placerville, California. Applied Parallel Research, Inc.
  3214.  
  3215.    18 - 21 October 94 "High Performance Fortran (HPF)" Workshop,
  3216.     Swiss Scientific Computing Center, CSCS-ETHZ, Manno (Ticino),
  3217.     Switzerland. Applied Parallel Research, Inc.
  3218.  
  3219. 7.- Developments, related languages  
  3220. ###################################
  3221.  
  3222. Standard
  3223. --------
  3224.   Work did not stop with the publication of the Fortran 90 standard.
  3225. A new release is scheduled for 1996 (called 95), mainly devoted to 
  3226. clarifications, corrections and interpretations. A more important
  3227. revision is scheduled for 2000 (or 2001 ? called F2k though C.Burley's
  3228. F00 is a pleasant alternative).
  3229.   Documents related to the work of X3J3 can be found via anonymous
  3230. ftp on ftp.ncsa.uiuc.edu, directory x3j3.
  3231.  
  3232. HPF
  3233. ---
  3234.   High Performance Fortran (HPF) is a language for programming
  3235. massively parallel architectures. It lets the user insert directives
  3236. for code and data distribution among the processors in the
  3237. (Fortran 90) code.
  3238. Electronic copies of HPF draft specification are available by anonymous
  3239. FTP from the following sources:
  3240.  Machine name            File name
  3241.  titan.cs.rice.edu       public/HPFF/draft/hpf-v10-final.tar
  3242.  titan.cs.rice.edu       public/HPFF/draft/hpf-v10-final.tar.Z
  3243.  titan.cs.rice.edu       public/HPFF/draft/hpf-v10-final.ps
  3244.  titan.cs.rice.edu       public/HPFF/draft/hpf-v10-final.ps.Z
  3245.  think.com               public/HPFF/hpf-v10-final.ps.Z
  3246.  ftp.gmd.de              hpf-europe/hpf-v10-final.ps.Z
  3247.  theory.tc.cornell.edu   pub/hpf-v10-final.ps.Z
  3248.  minerva.npac.syr.edu    public/hpf-v10-final.tar.Z
  3249.  
  3250. PVM
  3251. ---
  3252.   Parallel Virtual Machine consists of a library and a run-time
  3253. environment which allow the distribution of a program over a network
  3254. of (even heterogeneous) computers. It works with Fortran 77 
  3255. (which is the way we presently use it), C and probably Fortran 90.
  3256.   There is a usenet comp.parallel.pvm group, and the FAQ for it
  3257. can be found via anonymous ftp on rtfm.mit.edu, /pub/usenet.
  3258.  
  3259. Parallel Programming
  3260. --------------------
  3261.   An interesting report can be obtained via anonymous ftp on 
  3262. bulldog.wes.army.mil:/pub/report.ps.Z, for a large review of
  3263. products related to parallel systems programming.
  3264.  
  3265.  
  3266. 8.- Addresses
  3267. #############
  3268.  
  3269. AFNOR, Tour Europe, Cedex 7, F-92049 Paris la Defense, France
  3270.    tel: +33 1 42 91 55 55
  3271.  
  3272. Applied Parallel Research, Inc., 550 Main St., Placerville, CA 95667 
  3273.    tel: (916) 621-1600, fax: (916) 621-0593, forge@netcom.com
  3274.    ftp://ftp.netcom.com/pub/forge/home.html
  3275.  
  3276. CTS, Prinz-Otto Str. 7c, D-85521 Ottobrunn, Germany
  3277.    tel: +49 89 6083758, fax: +49 89 6083758
  3278.  
  3279. DEC
  3280.    http://www.digital.com/info.html, info@digital.com
  3281.  
  3282. EPC, 17 Alva St, Edinburgh, EH2 4PH, United Kingdom
  3283.    tel: +44-31-225-6262, fax: +44-31-225-6644, support@epc.ed.ac.uk
  3284. EPC, 20 Victor Square, Scotts Valley, California 95066
  3285.    tel: (408) 438-1851, fax: (408) 438-3510, info@epc.com
  3286.  
  3287. Fortran Journal, P.O. Box 4201, Fullerton, CA 92634, USA
  3288.    fax: (714) 441-2022
  3289.  
  3290. ICHOR, 27 rue Linne, F-75005 Paris, France
  3291.    tel: +33 1 43 37 02 02
  3292.  
  3293. ISO, 1 rue de Varembe, Case postale 56, CH-1211 Geneve 20, Switzerland
  3294.    fax: +41 22 734 10 79
  3295.  
  3296. IT Independent Training Limited, 113 Liscombe, Birch Hill, Bracknell,
  3297.    Berkshire, RG12 7DE, UK                  
  3298.    tel: +44 344 860172, fax: +44 344 867992
  3299.  
  3300.  
  3301. Microway, Research Park, Box 79, Kingston, MA 02364, USA
  3302.    tel: (508) 746-7341, fax: (508) 746-4678
  3303.  
  3304. NA Software Ltd, Roscoe House, 62 Roscoe St., Liverpool L1 9DW, UK
  3305.    tel: +44 51 7094738, fax: +44 51 7095645, f90doc@nasoftwr.demon.co.uk
  3306.  
  3307. NAG Ltd., Wilkinson House, Jordan Hill Road, Oxford, OX2 8DR, UK
  3308.    tel: +44 865 311744, fax: +44 865 311755, infodesk@nag.co.uk
  3309.    http://www.nag.co.uk:70/intro
  3310. NAG Inc., 1400 Opus Place, Suite 200, Downers Grove, IL 60515-5702, USA
  3311.    tel: (708) 971-2345, fax: (708) 971-2346, infodesk@nag.com
  3312. NAG GmbH., Schleissheimerstr. 5, D-85748 Garching, Germany
  3313.    tel: +49 89 3207395, fax: +49 89 3207396
  3314.  
  3315. NAG Users Association, PO Box 426, Oxford, OX2 8SD, UK
  3316.    tel: +44 865 311102, fax: +44 865 310139, nagua@nag.co.uk
  3317.  
  3318. Pacific-Sierra Research Corp., 2901 28th Street, Santa Monica, CA 90405
  3319.    tel: (310) 314-2300, fax: (310) 314-2323, info@psrv.com
  3320.  
  3321. ParaSoft Corporation, 2500 E. Foothill Blvd, Pasadena, CA 91107, USA
  3322.    tel: (818) 792-9941, f90-info@parasoft.com
  3323.  
  3324. Quetzal Computational Associates, 3200 Carlisle N.E., Albuquerque,
  3325.    NM 87110-1664, USA
  3326.    tel: (505) 889-4543, fax: (505) 889-4598, quetzal@aip.org
  3327.  
  3328. Simulog, 1 rue James Joule, F-78286 Guyancourt Cedex, France
  3329.    (Mr. E. Plestan)
  3330.    tel: +33 1 30 12 27 00, fax: +33 1 30 12 27 27
  3331.  
  3332. Spackman & Hendrickson, Inc., 13708 Krestwood Drive, Burnsville,
  3333.    MN 55337,  USA
  3334.    tel: (612) 892-5847, fax: (612) 892-5844
  3335.  
  3336. Unicom Seminars Ltd., Brunel Science Park, Cleveland Road, Uxbridge,
  3337.    Middlesex, UB8 3PH, UK
  3338.    tel: +44 895 256484, fax: +44 895 813095 
  3339.  
  3340. Unicomp, Inc., 1123 Marigold Drive, Albuquerque, NM 87122, USA 
  3341.    tel: (505) 275-0800, fax: (505) 856-1501, walt@netcom.com
  3342.  
  3343. I am always pleased to receive informations.
  3344. Thanks to all those who sent some to me, and that I can not cite
  3345. all because I lost some of their names and addresses :-)
  3346.  
  3347.  
  3348. Michel
  3349.  
  3350. | Michel OLAGNON            | email : Michel.Olagnon@ifremer.fr         |
  3351. | IFREMER: Institut Francais de Recherches pour l'Exploitation de la Mer|
  3352. | Centre de Brest - B.P. 70 | phone : +33  98 22 41 44                  |
  3353. | F-29280 PLOUZANE - FRANCE | fax   : +33  98 22 41 35                  |
  3354.  
  3355. -- 
  3356. ----------------------------------------------------------------
  3357. Keith H. Bierman    keith.bierman@Sun.COM| khb@chiba.Eng.Sun.COM
  3358. SunSoft Developer Products         |
  3359.  2550 Garcia MTV 12-40                 | (415 336 2648) fax 964 0946
  3360. Mountain View, CA 94043  <speaking for myself, not Sun*> Copyright 1994
  3361.  
  3362.  
  3363.