| 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, WiSKThe 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 featuresThe 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.80Long 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 supportLong filenames are supported in the compiler, linker and other utilities (except as arguments to the CFIG386 and REBINDB).
 
 
Native, 32-bit Windows toolsThe 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.
 
 
Development platformsEssential 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 typeWhen 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 -WINSpecify -WIN to build native, 32-bit Windows applications. The -WINCONSOLE option is still available for programs utilizing console I/O.
 
 
New compiler option -PAUSERunning 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 enhancementsInstall takes advantage of Windows 9x and NT Autoplay and offers online registration.
 
 
Language changesThe 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 removedLISK, 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
Eliminates clutter.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 EnvironmentEssential LF90 includes a Windows Development
Environment featuring the Fortran-smart Windows Editor and the
Fortran-smart Debugger.
 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
routines.
 
 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.
 
 
 
 
Winteracter
Starter KitEssential 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 
MenuEd, DialogEd 
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 
your application.
 
 
 
 
Structured coding practice required by Essential LF90
Fortran 90 free source form.
IMPLICIT NONE.
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.
PROGRAM statement.
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 LF90To 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 
interfaces instead.
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 
instead.
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.
EQUIVALENCE statement.
PAUSE statement.
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 StatementsALLOCATEAssignment Statement
 BACKSPACE
 CALL
 CASE
 CASE DEFAULT
 CHARACTER
 CLOSE
 COMPLEX
 CONTAINS
 CYCLE
 DEALLOCATE
 Derived-TYPE Definition Statement
 DO
 DO WHILE
 ELSE
 ELSE IF
 ELSEWHERE
 END DO
 END FILE
 END FUNCTION
 END IF
 END INTERFACE
 END MODULE
 END PROGRAM
 END SELECT
 END SUBROUTINE
 END TYPE
 END WHERE
 EXIT
 FORMAT
 FUNCTION
 GO TO
 IF
 IF...THEN
 IMPLICIT NONE
 INQUIRE
 INTEGER
 INTERFACE
 LOGICAL
 MODULE
 MODULE PROCEDURE
 NAMELIST
 NULLIFY
 OPEN
 OPTIONAL
 Pointer Assignment Statement
 PRIVATE
 PROGRAM
 PUBLIC
 READ
 REAL
 RETURN
 REWIND
 SELECT CASE
 SEQUENCE
 STOP
 SUBROUTINE
 TYPE
 USE
 WHERE
 WRITE
 
 
 
 
Essential LF90 System RequirementsWindows® 9x or NT®80486DX, Pentium, Pentium Pro, Pentium II or compatible processor
 24 MB RAM
 25 MB available hard disk space
 
 |