Knowledge (XXG)

F (programming language)

Source 📝

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:.

Index

F#
F* (programming language)
Paradigm
Array
procedural
modular
Developer
The Fortran Company
Typing discipline
static
manifest
Fortran 95
modular
scientific programming
Fortran
Fortran 95
data abstraction
Fortran 77
Fortran 77
g95
Fortran 90
95
Fortran
object-oriented programming
records
pointer
control flow
conditional
switch statement
while loop

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.