| Paradigm | procedural, modular |
|---|---|
| Developer | The Fortran Company |
| Typing discipline | static, manifest |
| Influenced by | |
| Fortran 95 | |
F is a modular, compiled, numeric programming language, designed for scientific programming and scientific computation. F was developed as a modern Fortran, thus making it a subset of Fortran 95. It combines both numerical and data abstraction features from these languages. F is also backwards compatible with Fortran 77, allowing calls to Fortran 77 programs. F was first included in the g95 compiler.
F is designed to be a minimal subset of Fortran, with only about one hundred intrinsic procedures. Language keywords and intrinsic function names are reserved keywords in F and no other names may take this exact form. F contains the same character set used in Fortran 90/95 with a limit of 132 characters. Reserved words are always written in lowercase. Any uppercase
F supports many of the standard operators used in Fortran. The operators supported by F are:
The assignment operator is denoted by the equal sign =. In addition, pointer assignment is denoted by =>. Comments are denoted by the ! symbol:
Similar to Fortran, the type specification is made up of a type, a list of attributes for the declared variables, and the variable list. F provides all the same types as Fortran as well, with the sole exception of doubles:
F does not have intrinsic support for object-oriented programming, but it does allow for records:
Variable declarations are followed by an attribute list. The attributes allowed are parameter, public, private, allocatable, dimension, intent, optional, pointer, save and target. The attribute list is followed by ::, which is part of the syntax. F also allows for optional initialization in the list of objects. All items in a list will have the same attributes in a given type declaration statement. In addition, declarations are attribute oriented instead of entity oriented.