Knowledge

Expression-oriented programming language

Source 📝

438: 337: 204: 33: 311:
implemented assignment as a statement rather than an expression, thus prohibiting assignment from nesting inside any other statement or expression. (Until version 3.8 added 'assignment expressions', with a different syntax.)
889: 581: 729: 354: 17: 795: 859: 808: 401: 109: 373: 81: 380: 88: 958: 214: 57:
of the topic and provide significant coverage of it beyond a mere trivial mention. If notability cannot be shown, the article is likely to be
893: 1624: 387: 95: 261: 788: 369: 77: 1372: 1234: 673: 1378: 449: 781: 265: 222: 1563: 1311: 229: 1031: 297: 162: 394: 102: 420: 247: 128: 1403: 1083: 1027: 534: 1263: 1136: 1067: 1002: 925: 187: 1441: 1204: 834: 519: 358: 316: 282: 1219: 1209: 987: 539: 514: 509: 308: 275: 150: 54: 1603: 1583: 1513: 1456: 1418: 1408: 1368: 1293: 1229: 1199: 1126: 1115: 1012: 992: 967: 930: 753: 556: 529: 166: 649: 1558: 1321: 1288: 1183: 1159: 1121: 1101: 997: 906: 884: 869: 684: 524: 504: 484: 479: 293: 180: 172: 1505: 1491: 1398: 1358: 1283: 1189: 1169: 1036: 915: 849: 289: 50: 1598: 1363: 1273: 1253: 1239: 489: 66: 1578: 1538: 1481: 1413: 1151: 982: 706: 154: 1588: 1568: 1509: 1496: 1476: 1303: 1040: 944: 902: 773: 347: 218: 1548: 1523: 1517: 1461: 1423: 1111: 1106: 1058: 953: 854: 826: 817: 561: 1450: 1446: 1388: 1340: 910: 1593: 1573: 1533: 1335: 1194: 1063: 1050: 804: 270:
Critics, including language designers, blame expression-orientation for an entire class of
146: 43: 8: 1528: 1466: 1278: 1258: 1244: 976: 844: 839: 1345: 1298: 1268: 1214: 1073: 972: 864: 62: 1501: 1393: 1248: 1224: 1164: 1131: 1093: 1078: 1017: 695: 631: 301: 58: 1383: 1315: 1179: 920: 621: 1433: 1307: 1173: 874: 1485: 1141: 1007: 1618: 1471: 635: 717: 271: 158: 685:
The Java Language Specification, Java SE 8 Edition "14.9 The if Statement"
281:, which replaces a variable with an expression rather than testing it for 1353: 437: 320: 315:
In some expression-oriented languages, expressions that merely cause
626: 609: 336: 469: 176: 803: 49:
Please help to demonstrate the notability of the topic by citing
262:
Assignment (computer science) § Assignment versus equality
266:
Relational operator § Confusion with assignment operators
544: 499: 474: 494: 707:
The Python Language Reference "6.2. Assignment statements"
165:, which expression-oriented languages often treat as 153:
and thus yields a value. The typical exceptions are
149:
in which every (or nearly every) construction is an
361:. Unsourced material may be challenged and removed. 674:Java Code Conventions "10.4 Variable Assignments" 1616: 614:Proceedings of the ACM on Programming Languages 789: 296:prevent this type of mistake by restricting 730:"Functions - The Rust Programming Language" 274:wherein a programmer accidentally codes an 193: 796: 782: 582:"Glossary - The Rust Programming Language" 370:"Expression-oriented programming language" 78:"Expression-oriented programming language" 860:Programming in the large and in the small 625: 421:Learn how and when to remove this message 248:Learn how and when to remove this message 129:Learn how and when to remove this message 18:Expression-oriented programming languages 228:Relevant discussion may be found on the 183:is not an expression-oriented language. 143:expression-oriented programming language 300:to those that evaluate strictly to the 14: 1617: 777: 607: 603: 601: 432: 359:adding citations to reliable sources 330: 197: 26: 1625:Programming language classification 179:are expression-oriented languages. 24: 25: 1636: 754:"COS 326: Functional Programming" 718:"PEP 572: Assignment Expressions" 650:"Expression Oriented Programming" 598: 1404:Partitioned global address space 436: 335: 202: 188:functional programming languages 31: 746: 346:needs additional citations for 722: 711: 700: 689: 678: 667: 642: 574: 13: 1: 567: 931:Uniform Function Call Syntax 654:Knoldus - Technical Insights 44:general notability guideline 7: 1399:Parallel programming models 1373:Concurrent constraint logic 550: 326: 10: 1641: 1492:Metalinguistic abstraction 1359:Automatic mutual exclusion 259: 51:reliable secondary sources 40:The topic of this article 1547: 1432: 1364:Choreographic programming 1334: 1150: 1092: 1049: 952: 943: 883: 825: 816: 610:"The early history of F#" 190:are expression-oriented. 42:may not meet Knowledge's 1414:Relativistic programming 608:Syme, Don (2020-06-14). 557:Command–query separation 211:This article or section 194:Criticism and prevention 1424:Structured concurrency 809:Comparison by language 562:Functional programming 285:with that expression. 1389:Multitier programming 1205:Interface description 805:Programming paradigms 215:synthesis of material 758:www.cs.princeton.edu 355:improve this article 272:programming mistakes 147:programming language 1529:Self-modifying code 1137:Probabilistic logic 1068:Functional reactive 1023:Expression-oriented 977:Partial application 298:control expressions 1442:Attribute-oriented 1215:List comprehension 1160:Algebraic modeling 973:Anonymous function 865:Design by contract 835:Jackson structures 448:. You can help by 225:to the main topic. 219:verifiably mention 213:possibly contains 46: 1612: 1611: 1502:Program synthesis 1394:Organic computing 1330: 1329: 1235:Non-English-based 1210:Language-oriented 988:Purely functional 939: 938: 466: 465: 431: 430: 423: 405: 307:The designers of 302:boolean data type 288:The designers of 258: 257: 250: 139: 138: 131: 113: 41: 16:(Redirected from 1632: 1514:by demonstration 1419:Service-oriented 1409:Process-oriented 1384:Macroprogramming 1369:Concurrent logic 1240:Page description 1230:Natural language 1200:Grammar-oriented 1127:Nondeterministic 1116:Constraint logic 1018:Point-free style 1013:Functional logic 950: 949: 921:Immutable object 840:Block-structured 823: 822: 798: 791: 784: 775: 774: 768: 767: 765: 764: 750: 744: 743: 741: 740: 726: 720: 715: 709: 704: 698: 693: 687: 682: 676: 671: 665: 664: 662: 661: 646: 640: 639: 629: 605: 596: 595: 593: 592: 578: 461: 458: 440: 433: 426: 419: 415: 412: 406: 404: 363: 339: 331: 253: 246: 242: 239: 233: 206: 205: 198: 134: 127: 123: 120: 114: 112: 71: 35: 34: 27: 21: 1640: 1639: 1635: 1634: 1633: 1631: 1630: 1629: 1615: 1614: 1613: 1608: 1550: 1543: 1434:Metaprogramming 1428: 1344: 1339: 1326: 1308:Graph rewriting 1146: 1122:Inductive logic 1102:Abductive logic 1088: 1045: 1008:Dependent types 956: 935: 907:Prototype-based 887: 885:Object-oriented 879: 875:Nested function 870:Invariant-based 812: 802: 772: 771: 762: 760: 752: 751: 747: 738: 736: 728: 727: 723: 716: 712: 705: 701: 696:Introducing Ada 694: 690: 683: 679: 672: 668: 659: 657: 648: 647: 643: 627:10.1145/3386325 606: 599: 590: 588: 580: 579: 575: 570: 553: 462: 456: 453: 446:needs expansion 427: 416: 410: 407: 364: 362: 352: 340: 329: 268: 254: 243: 237: 234: 227: 217:which does not 207: 203: 196: 135: 124: 118: 115: 72: 70: 48: 36: 32: 23: 22: 15: 12: 11: 5: 1638: 1628: 1627: 1610: 1609: 1607: 1606: 1601: 1596: 1591: 1586: 1581: 1576: 1571: 1566: 1561: 1555: 1553: 1545: 1544: 1542: 1541: 1536: 1531: 1526: 1521: 1499: 1494: 1489: 1479: 1474: 1469: 1464: 1459: 1454: 1444: 1438: 1436: 1430: 1429: 1427: 1426: 1421: 1416: 1411: 1406: 1401: 1396: 1391: 1386: 1381: 1376: 1366: 1361: 1356: 1350: 1348: 1332: 1331: 1328: 1327: 1325: 1324: 1319: 1304:Transformation 1301: 1296: 1291: 1286: 1281: 1276: 1271: 1266: 1261: 1256: 1251: 1242: 1237: 1232: 1227: 1222: 1217: 1212: 1207: 1202: 1197: 1192: 1190:Differentiable 1187: 1177: 1170:Automata-based 1167: 1162: 1156: 1154: 1148: 1147: 1145: 1144: 1139: 1134: 1129: 1124: 1119: 1109: 1104: 1098: 1096: 1090: 1089: 1087: 1086: 1081: 1076: 1071: 1061: 1055: 1053: 1047: 1046: 1044: 1043: 1037:Function-level 1034: 1025: 1020: 1015: 1010: 1005: 1000: 995: 990: 985: 980: 970: 964: 962: 947: 941: 940: 937: 936: 934: 933: 928: 923: 918: 913: 899: 897: 881: 880: 878: 877: 872: 867: 862: 857: 852: 850:Non-structured 847: 842: 837: 831: 829: 820: 814: 813: 801: 800: 793: 786: 778: 770: 769: 745: 721: 710: 699: 688: 677: 666: 641: 620:(HOPL): 1–58. 597: 572: 571: 569: 566: 565: 564: 559: 552: 549: 548: 547: 542: 537: 532: 527: 522: 517: 512: 507: 502: 497: 492: 487: 482: 477: 472: 464: 463: 443: 441: 429: 428: 343: 341: 334: 328: 325: 256: 255: 210: 208: 201: 195: 192: 161:commands, and 137: 136: 39: 37: 30: 9: 6: 4: 3: 2: 1637: 1626: 1623: 1622: 1620: 1605: 1602: 1600: 1597: 1595: 1592: 1590: 1587: 1585: 1582: 1580: 1577: 1575: 1574:Data-oriented 1572: 1570: 1567: 1565: 1562: 1560: 1557: 1556: 1554: 1552: 1546: 1540: 1537: 1535: 1532: 1530: 1527: 1525: 1522: 1519: 1515: 1511: 1507: 1503: 1500: 1498: 1495: 1493: 1490: 1487: 1483: 1480: 1478: 1475: 1473: 1472:Homoiconicity 1470: 1468: 1465: 1463: 1460: 1458: 1455: 1452: 1448: 1445: 1443: 1440: 1439: 1437: 1435: 1431: 1425: 1422: 1420: 1417: 1415: 1412: 1410: 1407: 1405: 1402: 1400: 1397: 1395: 1392: 1390: 1387: 1385: 1382: 1380: 1379:Concurrent OO 1377: 1374: 1370: 1367: 1365: 1362: 1360: 1357: 1355: 1352: 1351: 1349: 1347: 1342: 1337: 1333: 1323: 1320: 1317: 1313: 1309: 1305: 1302: 1300: 1297: 1295: 1292: 1290: 1287: 1285: 1282: 1280: 1277: 1275: 1274:Set-theoretic 1272: 1270: 1267: 1265: 1262: 1260: 1257: 1255: 1254:Probabilistic 1252: 1250: 1246: 1243: 1241: 1238: 1236: 1233: 1231: 1228: 1226: 1223: 1221: 1218: 1216: 1213: 1211: 1208: 1206: 1203: 1201: 1198: 1196: 1193: 1191: 1188: 1185: 1181: 1178: 1175: 1171: 1168: 1166: 1163: 1161: 1158: 1157: 1155: 1153: 1149: 1143: 1140: 1138: 1135: 1133: 1130: 1128: 1125: 1123: 1120: 1117: 1113: 1110: 1108: 1105: 1103: 1100: 1099: 1097: 1095: 1091: 1085: 1082: 1080: 1077: 1075: 1072: 1069: 1065: 1062: 1060: 1057: 1056: 1054: 1052: 1048: 1042: 1038: 1035: 1033: 1032:Concatenative 1029: 1026: 1024: 1021: 1019: 1016: 1014: 1011: 1009: 1006: 1004: 1001: 999: 996: 994: 991: 989: 986: 984: 981: 978: 974: 971: 969: 966: 965: 963: 960: 955: 951: 948: 946: 942: 932: 929: 927: 924: 922: 919: 917: 914: 912: 908: 904: 901: 900: 898: 895: 891: 886: 882: 876: 873: 871: 868: 866: 863: 861: 858: 856: 853: 851: 848: 846: 843: 841: 838: 836: 833: 832: 830: 828: 824: 821: 819: 815: 810: 806: 799: 794: 792: 787: 785: 780: 779: 776: 759: 755: 749: 735: 731: 725: 719: 714: 708: 703: 697: 692: 686: 681: 675: 670: 655: 651: 645: 637: 633: 628: 623: 619: 615: 611: 604: 602: 587: 583: 577: 573: 563: 560: 558: 555: 554: 546: 543: 541: 538: 536: 533: 531: 528: 526: 523: 521: 518: 516: 513: 511: 508: 506: 503: 501: 498: 496: 493: 491: 488: 486: 483: 481: 478: 476: 473: 471: 468: 467: 460: 457:February 2018 451: 447: 444:This section 442: 439: 435: 434: 425: 422: 414: 403: 400: 396: 393: 389: 386: 382: 379: 375: 372: –  371: 367: 366:Find sources: 360: 356: 350: 349: 344:This article 342: 338: 333: 332: 324: 322: 318: 313: 310: 305: 303: 299: 295: 291: 286: 284: 280: 277: 273: 267: 263: 252: 249: 241: 231: 226: 224: 220: 216: 209: 200: 199: 191: 189: 184: 182: 178: 174: 170: 168: 164: 160: 157:definitions, 156: 152: 148: 144: 133: 130: 122: 111: 108: 104: 101: 97: 94: 90: 87: 83: 80: –  79: 75: 74:Find sources: 68: 64: 60: 56: 52: 45: 38: 29: 28: 19: 1579:Event-driven 1022: 983:Higher-order 911:Object-based 761:. Retrieved 757: 748: 737:. Retrieved 733: 724: 713: 702: 691: 680: 669: 658:. Retrieved 656:. 2018-02-08 653: 644: 617: 613: 589:. Retrieved 585: 576: 454: 450:adding to it 445: 417: 408: 398: 391: 384: 377: 365: 353:Please help 348:verification 345: 317:side effects 314: 306: 287: 278: 269: 244: 235: 212: 185: 171: 163:declarations 159:preprocessor 142: 140: 125: 116: 106: 99: 92: 85: 73: 1589:Intentional 1569:Data-driven 1551:of concerns 1510:Inferential 1497:Multi-stage 1477:Interactive 1354:Actor-based 1341:distributed 1284:Stack-based 1084:Synchronous 1041:Value-level 1028:Applicative 945:Declarative 903:Class-based 734:web.mit.edu 586:web.mit.edu 55:independent 1564:Components 1549:Separation 1524:Reflective 1518:by example 1462:Extensible 1336:Concurrent 1312:Production 1299:Templating 1279:Simulation 1264:Scientific 1184:Spacecraft 1112:Constraint 1107:Answer set 1059:Flow-based 959:comparison 954:Functional 926:Persistent 890:comparison 855:Procedural 827:Structured 818:Imperative 763:2022-07-06 739:2022-07-06 660:2023-08-07 591:2022-07-06 568:References 381:newspapers 321:void types 279:expression 276:assignment 260:See also: 167:statements 151:expression 89:newspapers 63:redirected 1451:Inductive 1447:Automatic 1269:Scripting 968:Recursive 636:2475-1421 535:Smalltalk 411:July 2022 238:July 2022 230:talk page 119:July 2022 53:that are 1619:Category 1604:Subjects 1594:Literate 1584:Features 1539:Template 1534:Symbolic 1506:Bayesian 1486:Hygienic 1346:parallel 1225:Modeling 1220:Low-code 1195:End-user 1132:Ontology 1064:Reactive 1051:Dataflow 551:See also 470:ALGOL 68 327:Examples 283:equality 177:ALGOL 68 1559:Aspects 1467:Generic 1457:Dynamic 1316:Pattern 1294:Tactile 1259:Quantum 1249:filters 1180:Command 1079:Streams 1074:Signals 845:Modular 520:Haskell 395:scholar 319:return 103:scholar 67:deleted 1322:Visual 1289:System 1174:Action 998:Strict 634:  540:Kotlin 515:Erlang 510:Elixir 397:  390:  383:  376:  368:  309:Python 264:, and 223:relate 181:Pascal 105:  98:  91:  84:  76:  59:merged 1599:Roles 1482:Macro 1245:Pipes 1165:Array 1142:Query 1094:Logic 1003:GADTs 993:Total 916:Agent 545:OCaml 530:Scala 500:Rebol 475:BLISS 402:JSTOR 388:books 155:macro 145:is a 110:JSTOR 96:books 65:, or 1247:and 894:list 632:ISSN 525:Rust 505:Ruby 495:Perl 485:Lisp 480:Icon 374:news 294:Java 292:and 186:All 175:and 173:Lisp 82:news 1152:DSL 622:doi 452:. 357:by 290:Ada 221:or 141:An 1621:: 1516:, 1512:, 1508:, 1314:, 1310:, 1039:, 1030:, 909:, 905:, 892:, 756:. 732:. 652:. 630:. 616:. 612:. 600:^ 584:. 490:ML 323:. 304:. 169:. 61:, 1520:) 1504:( 1488:) 1484:( 1453:) 1449:( 1375:) 1371:( 1343:, 1338:, 1318:) 1306:( 1186:) 1182:( 1176:) 1172:( 1118:) 1114:( 1070:) 1066:( 979:) 975:( 961:) 957:( 896:) 888:( 811:) 807:( 797:e 790:t 783:v 766:. 742:. 663:. 638:. 624:: 618:4 594:. 459:) 455:( 424:) 418:( 413:) 409:( 399:· 392:· 385:· 378:· 351:. 251:) 245:( 240:) 236:( 232:. 132:) 126:( 121:) 117:( 107:· 100:· 93:· 86:· 69:. 47:. 20:)

Index

Expression-oriented programming languages
general notability guideline
reliable secondary sources
independent
merged
redirected
deleted
"Expression-oriented programming language"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
programming language
expression
macro
preprocessor
declarations
statements
Lisp
ALGOL 68
Pascal
functional programming languages
synthesis of material
verifiably mention
relate
talk page
Learn how and when to remove this message
Assignment (computer science) § Assignment versus equality

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