291:, the type specification is made up of a type, a list of attributes for the declared variables, and the variable list. F provides the same types as Fortran, except that double precision floating point variables must be declared as real with a kind with a kind parameter:
879:
Placing procedures outside of a module is prohibited. F supports most of the functions and subroutines found in the
Fortran 95 standard library. All functions in F are external by default and require a result clause that returns the value of a function. F supports
515:, 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.
140:
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
149:
with a limit of 132 characters. Reserved words are always written in lowercase. Any uppercase letter may appear in a character constant. Variable names do not have restriction and can include upper and lowercase characters.
1110:
985:
1054:
532:
1115:
499:
128:
programs. F was implemented on top of compilers from NAG, Fujitsu, Salford
Software and Absoft. It was later included in the
20:
881:
386:
949:
1079:
390:
24:
1011:
45:
61:
105:
1039:
Walter S. Brainerd, Charles H. Goldberg, and Jeanne C. Adams: "Programmer's Guide to F", Unicomp, 1996.
36:
989:
854:
101:
49:
981:
56:
1050:
158:
F supports many of the standard operators used in
Fortran. The operators supported by F are:
41:
1091:
887:
All of the intrinsic procedures found in
Fortran 95 may be used in F, with the exceptions of
540:
117:
1044:
1095:
1083:
77:
1104:
469:
Variable declarations are followed by an attribute list. The attributes allowed are
524:
73:
68:
548:
146:
142:
125:
121:
113:
89:
1063:
Robin A. Vowels: "Algorithms and Data
Structures in F and Fortran", Unicomp.
953:
288:
109:
1076:
1015:
353:! declaring variable of type big integer array with the identifier x
120:
features from these languages. F is also backwards compatible with
314:! declaring variables of type real x,y without an attribute list
1066:
Loren
Meissner: "Essential Fortran 90 & 95", Unicomp, 1997.
129:
567:
statements from
Fortran may be used to break control flow.
16:
Programming language: compiled, structured, array language
108:
and scientific computation. F was developed as a modern
104:, compiled, numeric programming language, designed for
1088:
239:
The assignment operator is denoted by the equal sign
1010:Walt Brainerd; David Epstein; Richard Hendrickson.
83:
67:
55:
35:
380:! declaring a character type variable with len 100
243:. In addition, pointer assignment is denoted by
1012:"The F Programming Language Tastes Like Java"
8:
30:
29:
940:
296:! type :: entity declaration list
385:F does not have intrinsic support for
7:
976:
974:
972:
970:
511:. The attribute list is followed by
1111:Fortran programming language family
14:
116:. It combines both numerical and
1077:F Programming Language Homepage
247:. Comments are denoted by the
1:
1043:Gehrke, Wihelm (1997-05-30).
853:F places a heavy emphasis on
112:, thus making it a subset of
523:F supports 3 statements for
387:object-oriented programming
1132:
519:Statement and control flow
18:
232:character concatenation:
88:
25:F* (programming language)
859:
569:
395:
389:, but it does allow for
293:
253:
19:Not to be confused with
184:Relational operators:
162:Arithmetic operators:
106:scientific programming
1116:Programming languages
948:The Fortran Company.
1046:The F Language Guide
277:! pointer assignment
124:, allowing calls to
855:modular programming
210:Logical operators:
62:The Fortran Company
32:
1094:2013-06-05 at the
1082:2015-01-09 at the
868:! Insert code here
1056:978-3-540-76165-5
95:
94:
69:Typing discipline
1123:
1060:
1027:
1026:
1024:
1023:
1014:. Archived from
1007:
1001:
1000:
998:
997:
988:. Archived from
986:"The F Language"
978:
965:
964:
962:
961:
952:. Archived from
945:
930:
926:
922:
918:
914:
910:
906:
902:
898:
894:
890:
875:
872:
869:
866:
863:
849:
846:
843:
840:
837:
834:
831:
828:
825:
822:
819:
816:
813:
810:
807:
804:
801:
798:
795:
792:
789:
786:
783:
780:
777:
774:
771:
768:
765:
762:
759:
756:
753:
750:
747:
744:
741:
738:
735:
732:
729:
726:
723:
720:
717:
714:
711:
708:
705:
702:
699:
696:
693:
690:
687:
684:
681:
678:
675:
672:
669:
666:
663:
660:
657:
654:
651:
648:
645:
642:
639:
636:
633:
630:
627:
624:
621:
618:
615:
612:
609:
606:
603:
600:
597:
594:
591:
588:
585:
582:
579:
576:
573:
566:
562:
558:
554:
547:, a conditional
546:
541:switch statement
538:
530:
514:
510:
506:
502:
496:
492:
488:
484:
480:
476:
472:
465:
462:
459:
456:
453:
450:
447:
444:
441:
438:
435:
432:
429:
426:
423:
420:
417:
414:
411:
408:
405:
402:
399:
381:
378:
375:
372:
369:
366:
363:
360:
357:
354:
351:
348:
345:
342:
339:
336:
333:
330:
327:
324:
321:
318:
315:
312:
309:
306:
303:
300:
297:
278:
275:
272:
269:
266:
263:
260:
257:
250:
246:
242:
235:
229:
225:
221:
217:
213:
207:
203:
199:
195:
191:
187:
181:
177:
173:
169:
165:
118:data abstraction
33:
1131:
1130:
1126:
1125:
1124:
1122:
1121:
1120:
1101:
1100:
1096:Wayback Machine
1084:Wayback Machine
1073:
1057:
1042:
1036:
1031:
1030:
1021:
1019:
1009:
1008:
1004:
995:
993:
980:
979:
968:
959:
957:
947:
946:
942:
937:
928:
924:
920:
916:
912:
908:
904:
900:
896:
892:
888:
877:
876:
873:
870:
867:
864:
861:
851:
850:
847:
844:
841:
838:
835:
832:
829:
826:
823:
820:
817:
814:
811:
808:
805:
802:
799:
796:
793:
790:
787:
784:
781:
778:
775:
772:
769:
766:
763:
760:
757:
754:
751:
748:
745:
742:
739:
736:
733:
730:
727:
724:
721:
718:
715:
712:
709:
706:
703:
700:
697:
694:
691:
688:
685:
682:
679:
676:
673:
670:
667:
664:
661:
658:
655:
652:
649:
646:
643:
640:
637:
634:
631:
628:
625:
622:
619:
616:
613:
610:
607:
604:
601:
598:
595:
592:
589:
586:
583:
580:
577:
574:
571:
564:
560:
556:
552:
544:
536:
528:
521:
512:
508:
504:
498:
494:
490:
486:
482:
478:
474:
470:
467:
466:
463:
460:
457:
454:
451:
448:
445:
442:
439:
436:
433:
430:
427:
424:
421:
418:
415:
412:
409:
406:
403:
400:
397:
383:
382:
379:
376:
373:
370:
367:
364:
361:
358:
355:
352:
349:
346:
343:
340:
337:
334:
331:
328:
325:
322:
319:
316:
313:
310:
307:
304:
301:
298:
295:
285:
280:
279:
276:
273:
270:
267:
264:
261:
258:
255:
248:
244:
240:
233:
227:
223:
219:
215:
211:
205:
201:
197:
193:
189:
185:
179:
175:
171:
167:
163:
156:
138:
28:
17:
12:
11:
5:
1129:
1127:
1119:
1118:
1113:
1103:
1102:
1099:
1098:
1086:
1072:
1071:External links
1069:
1068:
1067:
1064:
1061:
1055:
1040:
1035:
1032:
1029:
1028:
1002:
966:
939:
938:
936:
933:
860:
570:
520:
517:
396:
294:
284:
281:
254:
237:
236:
230:
208:
182:
155:
152:
137:
134:
93:
92:
86:
85:
81:
80:
71:
65:
64:
59:
53:
52:
39:
15:
13:
10:
9:
6:
4:
3:
2:
1128:
1117:
1114:
1112:
1109:
1108:
1106:
1097:
1093:
1090:
1087:
1085:
1081:
1078:
1075:
1074:
1070:
1065:
1062:
1058:
1052:
1048:
1047:
1041:
1038:
1037:
1033:
1018:on 2016-12-10
1017:
1013:
1006:
1003:
992:on 2014-04-24
991:
987:
983:
982:Adams, Jeanne
977:
975:
973:
971:
967:
956:on 2019-04-20
955:
951:
950:"All About F"
944:
941:
934:
932:
885:
883:
858:
856:
568:
550:
542:
534:
526:
518:
516:
501:
394:
392:
388:
292:
290:
282:
265:! assignment
252:
231:
209:
183:
161:
160:
159:
153:
151:
148:
144:
135:
133:
131:
127:
123:
119:
115:
111:
107:
103:
99:
91:
87:
84:Influenced by
82:
79:
75:
72:
70:
66:
63:
60:
58:
54:
51:
47:
43:
40:
38:
34:
26:
22:
1089:g95 compiler
1049:. Springer.
1045:
1034:Bibliography
1020:. Retrieved
1016:the original
1005:
994:. Retrieved
990:the original
958:. Retrieved
954:the original
943:
886:
878:
871:end program
852:
525:control flow
522:
468:
384:
377:student_name
286:
238:
157:
139:
97:
96:
758:select case
533:conditional
483:allocatable
287:Similar to
1105:Categories
1022:2014-04-29
996:2014-04-28
960:2014-04-28
935:References
848:end select
549:while loop
531:, a basic
283:Data types
262:expression
143:Fortran 90
132:compiler.
126:Fortran 77
122:Fortran 77
114:Fortran 95
90:Fortran 95
46:procedural
31:F language
882:recursion
487:dimension
471:parameter
461:end type
437:character
413:character
356:character
335:dimension
154:Operators
57:Developer
1092:Archived
1080:Archived
913:transfer
862:program
495:optional
256:variable
251:symbol:
136:Overview
78:manifest
37:Paradigm
836:default
764:maximum
719:else if
674:end do
500:pointer
479:private
391:records
317:integer
289:Fortran
268:pointer
110:Fortran
102:modular
50:modular
1053:
927:, and
893:iachar
755:end if
662:end if
623:end do
563:, and
553:return
551:. The
543:, and
509:target
491:intent
475:public
404:public
274:target
228:.neqv.
74:static
925:dprod
889:achar
833:case
656:exit
620:cycle
608:print
561:cycle
458:state
271:=>
245:=>
224:.eqv.
216:.and.
212:.not.
206:>=
190:<=
100:is a
42:Array
1051:ISBN
917:dble
874:main
865:main
812:case
791:case
770:case
737:then
728:>
701:then
692:<
680:stop
653:then
644:>
572:real
565:exit
557:stop
539:, a
537:case
507:and
505:save
464:City
434:name
410:City
398:type
329:long
323:kind
299:real
220:.or.
202:>
186:<
929:mod
921:dim
909:llt
905:lle
901:lgt
897:lge
677:max
659:max
626:max
590:100
581:do
443:len
425:100
419:len
368:100
362:len
341:100
130:g95
23:or
1107::
984:.
969:^
931:.
923:,
919:,
915:,
911:,
907:,
903:,
899:,
895:,
891:,
884:.
857:.
845:10
767:):
683:if
635:if
632:do
575:::
559:,
555:,
545:do
535:,
529:if
527::
513:::
503:,
497:,
493:,
489:,
485:,
481:,
477:,
473:,
455:::
449:50
431:::
407:::
393::
374:::
347:::
332:),
302:::
234://
226:,
222:,
218:,
214:,
204:,
200:,
198:/=
196:,
194:==
192:,
188:,
180:**
178:,
174:,
170:,
166:,
147:95
76:,
48:,
44:,
21:F#
1059:.
1025:.
999:.
963:.
842:=
839:x
830:5
827:=
824:x
821:)
818:5
815:(
809:1
806:=
803:x
800:)
797:1
794:(
788:0
785:=
782:x
779:)
776:0
773:(
761:(
752:x
749:-
746:y
743:=
740:x
734:)
731:y
725:x
722:(
716:y
713:+
710:x
707:=
704:x
698:)
695:y
689:x
686:(
671:y
668:=
665:x
650:)
647:y
641:x
638:(
629::
617:i
614:,
611:*
605:i
602:+
599:x
596:=
593:x
587:=
584:i
578:x
452:)
446:=
440:(
428:)
422:=
416:(
401:,
371:)
365:=
359:(
350:x
344:)
338:(
326:=
320:(
311:y
308:,
305:x
259:=
249:!
241:=
176:/
172:*
168:-
164:+
145:/
98:F
27:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.