Essential Lahey Fortran 90 v4.0
Essential LF90 is a Fortran language system for
students, engineers, and scientists who want to write
programs using the modern features of Fortran 90. It is
a 32-bit language system providing the essential
features of the Fortran 90 standard.
In supporting older FORTRAN 77 code, the Fortran 90 Standard includes often
redundant and sometimes inefficient language features from the past. In
Essential Lahey Fortran 90 we have streamlined the 90 Standard into one
highly efficient and powerful Fortran 90 subset.
New in Essential LF90 v4.0
Essential Lahey Fortran 90 enforces structured Fortran 90 coding,
removes obsolescent and redundant Fortran 77 and 90 features, and
preserves the strengths of the Fortran language.
Winteracter Starter Kit, WiSK
The Winteracter Starter Kit, WiSK, is a 32-bit Windows and Fortran 90
graphics development toolkit for creating Windows user-interfaces and displaying
graphics. WiSK is a subset of the full Winteracter Library. WiSK
includes MenuED and DialogED -- interactive, visual design tools for creating Windows menus and dialog boxes.
Fortran 95 features
The intrinsic subroutine CPU_TIME returns the processor time.
The intrinsic functions CEILING and FLOOR now take the optional KIND argument.
The functions MAXLOC and MINLOC are extended with the optional DIM argument.
MAXVAL, MINVAL, PRODUCT, and SUM functions are extended to allow the MASK argument
as the second positional argument.
Optional name specification is added to the END INTERFACE statement.
Lahey ED Developer v3.80
Long filename support is implemented for all functions, including debugging. We enabled the editing and saving of files with extensions .RC (resource files), .C, and .H. New Lahey Fortran toolbar buttons are added for WiSK MenuED and DialogED. New user-definable color schemes, scrollable window bar tabs, status bar improvements, default colors, and separate toolbars for LF95, LF90, and Essential LF90 are included.
Long filename support
Long filenames are supported in the compiler, linker and other utilities (except as arguments to the CFIG386 and REBINDB).
Native, 32-bit Windows tools
The compiler, driver, librarian, linker, and a few other utilities are now native, 32-bit Windows applications. This resolves some previously reported problems running these tools under NT.
Essential LF90 now operates only on the Windows 9x and NT operating systems. DOS, Windows 3.1x, and Win32s are supported for target application platforms.
New target application type
When used in combination, the -BIND and -WINCONSOLE compiler options will build the target application as a bound, extended-DOS and 32-bit Windows console application that will run as a native Windows application if executed under Windows 9x or NT and will run as a DOS-Extended application under straight DOS or Windows 3.1x.
New compiler option -WIN
Specify -WIN to build native, 32-bit Windows applications. The -WINCONSOLE option is still available for programs utilizing console I/O.
New compiler option -PAUSE
Running a program built with the -WINCONSOLE and -PAUSE options causes the following message to display when the program completes execution: "Program completed. Press Enter to Continue." Use the -NPAUSE option to suppress this feature. This feature was added to keep the console window open for viewing output.
Installation program enhancements
Install takes advantage of Windows 9x and NT Autoplay and offers online registration.
The STOP statement no longer accepts a stop code. Construct Names are no longer
permitted on block IF and CASE construct statements. CASE DEFAULT must be last
case in a CASE construct. Variables declared but never used and variables set but never used
now receive warnings instead of fatal errors.
LISK is removed
LISK, the Lahey INTERACTER Starter Kit, is removed in favor of WiSK, described above.
Why should you teach with Essential LF90?
Essential LF90 is a clean, self-contained language with
few redundancies, appropriate for teaching the basics of
modern Fortran programming.
Here's what Essential LF90 does:
Omits all obsolescent features of Fortran 90.
Example: Arithmetic IF and assigned GO TO
Example: The optional comma after DO
Makes selections among redundant variants.
Example: Entity-oriented vs. attribute-oriented declarations
Imposes requirements where the full Fortran 90 language grants options.
Example: IMPLICIT NONE in every main program or module
Eliminates storage association.
Example: COMMON, EQUIVALENCE, and implicit procedure interface
Essential LF90 does retain statement labels for the sake
of input-output exception handling and DO WHILE in
recognition of its popularity in some quarters. With
Essential LF90, programs are more easily maintained and
can still be run on the full Lahey Fortran 90 or any
other compiler that supports the 90 standard.
Fortran-Smart Windows Development Environment
Essential LF90 includes a Windows Development
Environment featuring the Fortran-smart Windows Editor and the
Fortran-Smart Windows Editor
Lahey ED for Windows leads the way in intelligent, language-sensitive editing. Up and running straight out of the box for the new user but still highly configurable, ED fits the way you want to work:
Find Errors: Lahey ED automatically
highlights syntax and semantic errors generated by the compiler and positions
the cursor on the offending line in your source code.
Reduce Errors: Color syntax highlighting makes errors obvious and dramatically reduces compile-edit cycles.
Save Time: Drag & drop text
using the mouse. Right click to look up functions in other source files
and do bracket matching.
Boost Productivity: Lahey ED formats
and writes code for you with smart indenting, code templates, auto-correction, code completion, and automatic case conversion. You'll produce legible, correct code quicker than ever before.
Fortran-Smart Windows Debugger
Lahey's Source On-Line Debugger, SOLD, is part of Lahey ED for
Windows. You can edit, compile, link, execute, and debug your
program all from within the editor. SOLD helps you detect
and correct programming errors quickly:
Incrementally execute your program:
Single step through your program. Step into or over calls to other
Stop on Break Points: Click in the
margin of your source code to set break points.
Display Variables: Right click on
a variable to display its value.
Watch Variables: Open a watch window
to show variable values in any active program unit.
Complementing the Windows Development Environment,
Essential LF90 includes a 32-bit extended-DOS debugger
and execution profiler, the Phar Lap TNT DOS-Extender, a
linker, librarian, virtual memory manager, and over 550
pages of online documentation describing the language
features and tools. Essential LF90 runs on Windows
3.1x, Windows 95, and Windows NT. You can create 32-bit
Windows console-mode programs and 32-bit extended-DOS
programs. Using the Winteracter Starter Kit,
you can create 32-bit Windows applications with menus
and dialog boxes.
Essential LF90 v4.0 includes the Winteracter Starter
Kit - WiSK - for creating true Windows
programs with Fortran. WiSK is a subset of
the Winteracter Library created by
Interactive Software Services, Ltd. (Winteracter is available
from Lahey.) Winteracter is a Fortran 90-callable,
32-bit, Windows, user-interface and graphics development kit. Derived
from Winteracter, WiSK provides a library of subroutines
for window management, input handling, dialog management, and high
resolution graphics, plus custom versions of the visual menu and
dialog designers. The enhanced WiSK offers semi-modeless dialog boxes,
radio buttons, improvements to the visual dialog and menu editors, and a
handful of miscellaneous new procedures.
The visual menu designer, MenuEd, allows you
to create menus in the conventional Windows horizontal format or
as Windows 95 and NT floating menus. MenuEd
saves menu layouts as reusable resource scripts. Essential LF90
automatically compiles these scripts with the resource compiler
and links the menus into your WiSK program.
MenuEd also saves a Fortran source file
containing type declaration statements with PARAMETER attributes
defining identifiers for each
item in the menu resource file. This file can be USE'd
by a WiSK program allowing you to
reference items in the menu using meaningful names.
The visual dialog designer, DialogED, allows
you to interactively create Windows dialogs. Like
generates resource scripts and module files defining
the identifiers of each dialog control. Various standard field
types and controls are supported including string fields, list
boxes, combo boxes, group boxes, push-buttons, picture frames,
and labels. DialogED also offers a "test"
button to try out your dialogs without having to build or rebuild
Structured coding practice required by Essential LF90
Fortran 90 free source form.
INTENT specified for all subprogram dummy arguments.
INTENT(IN) specified for function dummy arguments.
7 Dummy arrays must be assumed-shape.
Explicit interfaces for all procedures.
Labeled statements must be referenced.
RESULT clause on RECURSIVE FUNCTION statement.
Type declaration statements all use double colon syntax.
Program unit type and name on END program unit statement.
Type name on END TYPE statement.
POSITION specified in OPEN statement for sequential files.
CASE DEFAULT must be first or last case when present.
STOP statement to end program.
RETURN statement to return from subprogram.
Obsolescent and redundant features removed from Essential LF90
To promote a more efficient and modern programming
language the Fortran 90 features listed below are not
supported in the Essential LF90 language. If you use a
Fortran 90 feature that is not supported, an on-screen
error message is provided.
ALLOCATABLE, INTENT, POINTER, SAVE, DIMENSION,
PARAMETER, and TARGET statements. Specify these
attributes in the type declaration statement instead.
INTRINSIC and EXTERNAL statements. Use explicit
ASSIGN, Assigned GO TO, Alternate RETURN, CONTINUE,
ENTRY, and Computed GO TO statements. Use structured
programming constructs instead.
INCLUDE files. Use modules instead.
DATA and BLOCK DATA. Initialize in type declaration
statement or assignment statement instead.
COMMON blocks. Use modules as global data facility
DOUBLE PRECISION statement. Declare double-precision
REALs with the REAL statement instead.
Statement function statement. Use internal procedures instead.
Specific intrinsic functions. Use generics instead.
DO label. Use DO, END DO instead.
Assumed-size arrays. Use assumed-shape arrays instead.
Non-INTEGER DO variables and expressions.
Multiple statements on a line.
LOGICAL case expression.
Branch to END IF from outside IF block.
BLANK specifier on OPEN or INQUIRE statement.
BN, BZ, D, H, P, S, and X edit descriptors. D exponent accepted on input at runtime.
Essential LF90 Statements
Derived-TYPE Definition Statement
Pointer Assignment Statement
Essential LF90 System Requirements
Windows® 9x or NT®
80486DX, Pentium, Pentium Pro, Pentium II or compatible processor
24 MB RAM
25 MB available hard disk space