Knowledge

POP-2

Source đź“ť

1229: 32: 2524: 2514: 1290: 1280: 2494: 2484: 2504: 639:
applies the closure of poly2 with three arguments frozen, to the argument 3, returning the square of (3 - 1), which is 4. The application of the partially applied function causes the frozen values (in this case 1, -2, 1) to be added to whatever is already on the stack (in this case 3), after which
823:
computers, with integrated graphics. This was used for many commercial projects, and to teach AI programming in several universities. That it was implemented in an early dialect of C, using an idiosyncratic compiler made it very hard to maintain and upgrade to new versions of the Mac operating
795:
computer by Steve Hardy and John Gibson, and soon after that it was replaced by a full incremental compiler (producing machine-code instead of an interpreted intermediate code). The existence of the compiler and all its subroutines at run time made it possible to support far richer language
734:(for WonderPop) was implemented by Robert Rae and Allan Ramsay in Edinburgh, on a research-council funded project. That version introduced caged address spaces, some compile-time syntactic typing (e.g., for integers and reals), and some pattern matching constructs for use with a variety of 767:
which was interpreted. That port was completed around 1976, and as a result, Pop-11 was used in several places for teaching. To support its teaching function, many of the syntactic features of POP-2 were modified, e.g., replacing
727:. This was the first dialect of POP-2 that treated case as significant in identifier names, used lower case for most system identifiers, and supported long identifiers with more than 8 characters. 812:
were added later. This version was later ported to a variety of machines and operating systems and as a result Pop-11 became the dominant dialect of POP-2, still available in the Poplog system.
755:(DEC) PDP-11/40 computer. It was originally designed to run on the DEC operating system RSX-11D, in time-shared mode for teaching, but that caused so many problems that an early version of 535:
There are no special language constructs to create arrays or record structures as they are commonly understood: instead, these are created with the aid of special builtin functions, e.g.,
692:
In 1978 Hamish Dewar implemented a version of POP-2 specifically for use by Edinburgh University undergraduates in the AI2 (Artificial Intelligence, 2nd year level) class using the
2181: 1111: 663:
The first line declares a new operation +* with precedence (priority) 3. The second line creates a function f(x,y)=x*x+y*y, and assigns it to the newly declared operation +*.
2175: 613:). In partial application, some number of the rightmost arguments of the function (which are the last ones placed on the stack before the function is involved) are 796:
extensions than are possible with Macros, and as a result Pop-11 was used (by Steve Hardy, Chris Mellish and John Gibson) to produce an implementation of
2558: 1328: 400:, including allowing new function definitions at run time and modification of function definitions while a program runs (both of which are features of 2084: 1092:
An Introduction to the POP-2 Programming Language, by P. M. Burstall and J. S. Collins. POP-2 Reference Manual, by P. M. Burstall and J. S. Collins.
2568: 815:
Around 1986, a new AI company Cognitive Applications Ltd., collaborated with members of Sussex university to produce a variant of Pop-11 named
2573: 2508: 1294: 1578: 2553: 2528: 2488: 1811: 1284: 1118: 2498: 1321: 307: 2169: 1355: 776:
and adding a wider variety of looping constructs with closing brackets to match their opening brackets instead of the use of
2518: 2220: 1950: 586:
Variables can hold values of any type, including functions, which are first-class objects. Thus, the following constructs
1458: 1091: 924: 672: 295: 239: 2296: 2276: 2186: 2030: 1360: 1314: 1184: 1847: 884:
Smith, R.; Sloman, A.; Gibson, J. (1992). "POPLOG's two-level virtual machine support for interactive languages". In
75: 53: 46: 2578: 693: 640:
the original function poly2 is invoked. It then uses the top four items on the stack, producing the same result as
2291: 2255: 1594: 364:
developed around 1970 from the earlier language POP-1 (developed by Robin Popplestone in 1968, originally named
2563: 1615: 1599: 1444: 832:
to signify the type of objects, which was incompatible with the use of memory above 8 Mb on later Macintoshes.
618: 418: 1020: 2583: 2548: 2364: 1956: 1648: 1569: 752: 621:
of the original function. For instance, consider a function for computing general second-degree polynomials:
426: 970: 2138: 1802: 1625: 1396: 1391: 1086: 448: 602: 2402: 1717: 1663: 1640: 1604: 1424: 1337: 944: 781: 704: 464: 381: 324: 186: 123: 996: 1912: 1892: 1877: 1862: 1782: 1023:, page 217, and An Introduction to the Study of Programming Languages, by David William Barron, page 75 696:
operating system. This implementation was written from scratch in the Edinburgh programming language,
492: 443: 2333: 1965: 1837: 1559: 1433: 716: 267: 1081: 2250: 2063: 1673: 1406: 1380: 1104: 40: 2425: 785: 377: 153: 2068: 1907: 1553: 1518: 1491: 1064: 896: 113: 109: 105: 57: 1228: 2377: 2079: 2035: 2013: 1535: 1370: 1034: 20: 2493: 2281: 2235: 2003: 1273: 1237: 1145: 742: 397: 393: 361: 287: 157: 101: 96: 675:
computer in the University of Edinburgh (with only 64 KB RAM, doubled to 128 KB in 1972).
8: 1486: 1414: 719:). Julian Davies, in Edinburgh, implemented an extended version of POP-2, which he named 401: 2387: 2372: 2324: 2230: 1513: 1467: 234: 148: 892:. Vol. 5: Artificial Intelligence. Lawrence Erlbaum Associates. pp. 203–231. 2463: 2382: 2349: 1983: 1867: 1245: 920: 760: 369: 227: 136: 2329: 2301: 2215: 2133: 1942: 885: 825: 282: 262: 2440: 2435: 2210: 2101: 1652: 1524: 1507: 712: 679: 389: 243: 131: 657:
In POP-2, it was possible to define new operations (operators in modern terms).
554:, which is called on the receiving side of an assignment. Thus, if the variable 2430: 2420: 2415: 2354: 2225: 1630: 1365: 820: 800:, using the standard syntax of Prolog, and the combined system became known as 735: 217: 2542: 2392: 2339: 2319: 2271: 2240: 1922: 697: 546:
Thus, array element and record field accessors are simply special cases of a
1306: 2458: 1991: 1401: 1385: 1250: 1213: 916: 759:
was installed and used instead. That version of Pop-11 was written in Unix
578:
is a doublet and can be used to change the updater component of a doublet.
373: 140: 1087:
Computers and Thought: A practical Introduction to Artificial Intelligence
617:
to given values, to produce a new function of fewer arguments, which is a
2410: 2344: 2311: 2263: 2245: 1996: 1806: 1589: 1476: 1439: 1375: 1203: 809: 805: 212: 595:
vars max; lambda x y; if x > y then x else y close end -> max;
2286: 2143: 2128: 1927: 1828: 1818: 1678: 1502: 969:
Hardy, Steven; Williams, John; Sloman, A. (January 1978 – April 1986).
792: 660:
vars operation 3 +*; lambda x y; x * x + y * y end -> nonop +*
2148: 1842: 1658: 1635: 1610: 1530: 506:
if a > b then c -> e else d -> e close;
1932: 1917: 1902: 1792: 1787: 1735: 1696: 1409: 1136: 764: 609: 441:
The reason for this is that the language has explicit notion of an
385: 328: 1096: 2153: 2074: 1897: 1887: 1872: 1832: 1797: 1740: 1730: 1725: 1620: 724: 271: 2450: 1960: 1857: 1823: 1769: 1758: 1750: 1688: 1584: 1548: 1192: 1173: 1154: 1127: 847: 841: 801: 797: 747: 708: 686: 550:: this is a function that had another function attached as its 365: 345: 332: 255: 251: 247: 479:(commas and semicolons being largely interchangeable) or even 2040: 1882: 1852: 1497: 630:
vars less1squared; poly2(% 1, -2, 1%) -> less1squared;
512:
if a > b then c else d close -> e;
463:
which pops the top value off the stack and assigns it to the
422: 457:
which evaluates the value 3 and leaves it on the stack, and
447:. Thus, the prior assignment can be written as two separate 2176:
MIT Computer Science and Artificial Intelligence Laboratory
1970: 1668: 1540: 756: 275: 943:
Rubinstein, Mark; Sloman, A. (October 1985 – April 1989).
915: 865: 763:, and code was incrementally compiled to an intermediate 682:
on a 1909 at Lancaster University by John Scott in 1968.
968: 589:
function max x y; if x > y then x else y close end;
942: 671:
The original version of POP-2 was implemented on an
404:), without the overhead of an interpreted language. 866:Burstall, R.; Collins, J.; Popplestone, R. (1968). 784:for list structures, making it far easier to teach 624:function poly2 x a b c; a * x * x + b * x + c end; 539:(for arrays that can contain any type of item) and 730:Shortly after that, a new implementation known as 495:paradigm, there is no need to distinguish between 2085:Structure and Interpretation of Computer Programs 883: 780:for all loops in POP-2. Pop-11 also introduced a 574:returning the updater of the doublet. Of course, 380:. It drew roots from many sources: the languages 2540: 1026: 875:Davies, D.J.M. (1976). "POP-10 Users' Manual". 530: 828:clean" due to the use of high address bits as 745:implemented a subset of POP-2, which he named 396:, which gave it some of the flexibility of an 1336: 1322: 1112: 1295:Category:Integrated development environments 2182:Stanford Artificial Intelligence Laboratory 2559:History of computing in the United Kingdom 2483: 1329: 1315: 1119: 1105: 601:An interesting operation on functions is 429:are in reverse order: instead of writing 76:Learn how and when to remove this message 19:For other topics with similar names, see 1056: 890:Research Directions in Cognitive Science 870:. Edinburgh: Edinburgh University Press. 39:This article includes a list of general 143:, Steve Hardy; Robert Rae, Allan Ramsay 2541: 994: 874: 741:In parallel with that, Steve Hardy at 685:In the mid-1970s, POP-2 was ported to 652: 2569:Programming languages created in 1970 2170:Massachusetts Institute of Technology 1310: 1100: 543:to create restricted types of items. 2503: 1032: 791:Around 1980, Pop-11 was ported to a 703:Later versions were implemented for 25: 2574:Science and technology in Edinburgh 1285:Category:Lisp programming languages 1126: 627:This can be bound, for instance as 13: 2187:University of California, Berkeley 2031:Scheme Requests for Implementation 1185:Integrated development environment 1033:Dunn, Raymond D. (February 1970). 467:'a'. Similarly, the function call 45:it lacks sufficient corresponding 14: 2595: 1848:Knowledge Engineering Environment 1075: 1062: 1042:School of Artificial Intelligence 2554:Lisp programming language family 2523: 2522: 2513: 2512: 2502: 2492: 2482: 1289: 1288: 1279: 1278: 1227: 824:system. Also, AlphaPop was not " 30: 723:on the PDP-10 computer running 1014: 988: 962: 936: 909: 715:(running the operating system 407: 1: 1957:Common Lisp Interface Manager 854: 753:Digital Equipment Corporation 388:, and theoretical ideas from 1356:Automatic storage management 1082:The Early Development of POP 581: 531:Arrays and doublet functions 7: 1605:Game Oriented Assembly Lisp 835: 705:Computer Technology Limited 503:; thus, the two constructs 194:; 49 years ago 169:; 54 years ago 10: 2600: 1212:Clementine (1994) renamed 1035:"POP-2/4100 Users' Manual" 932:. London: The Round Table. 666: 18: 2480: 2449: 2401: 2363: 2310: 2206: 2199: 2162: 2121: 2114: 2094: 2056: 2049: 2023: 2012: 1982: 1941: 1749: 1716: 1709: 1687: 1568: 1475: 1466: 1457: 1434:Common Lisp Object System 1423: 1351: 1344: 1338:Lisp programming language 1259: 1236: 1225: 1202: 1183: 1144: 1135: 1044:. University of Edinburgh 995:Sloman, A. (April 1985). 777: 773: 769: 633:such that the expression 575: 571: 555: 540: 536: 524: 520: 516: 344: 339: 323: 318: 313: 306: 301: 293: 281: 261: 233: 223: 211: 207: 185: 181: 163: 147: 130: 119: 95: 2134:Bolt, Beranek and Newman 2064:Common Lisp the Language 1065:"EMAS Pop-2 source code" 1001:University of Birmingham 975:University of Birmingham 949:University of Birmingham 678:POP-2 was ported to the 558:contains an array, then 412: 2579:University of Edinburgh 877:Computer Science Report 850:programming environment 786:artificial intelligence 523:hadn't become a common 515:are equivalent (use of 378:University of Edinburgh 224:Implementation language 154:University of Edinburgh 60:more precise citations. 2069:How to Design Programs 1908:Portable Standard Lisp 1554:Steel Bank Common Lisp 1519:Embeddable Common Lisp 1492:Armed Bear Common Lisp 1371:Higher-order functions 1021:POP-2 Reference Manual 888:and N. Bernsen (ed.). 2564:Programming languages 2378:Shriram Krishnamurthi 2080:Practical Common Lisp 2036:Common Lisp HyperSpec 1560:Symbolics Common Lisp 1536:Macintosh Common Lisp 1146:Programming languages 570:the builtin function 2584:University of Sussex 2549:Functional languages 2282:Robert Tappan Morris 2236:Robert Bruce Findler 2004:Space-cadet keyboard 1415:Tree data structures 1392:Read–eval–print loop 1274:Open-source software 868:Programming in Pop-2 844:programming language 774:define ... enddefine 743:University of Sussex 607:, (sometimes termed 398:interpreted language 394:incremental compiler 362:programming language 158:University of Sussex 16:Programming language 2024:Technical standards 1487:Allegro Common Lisp 707:(CTL) Modular One, 653:Operator definition 649:1*3*3 + (-2)*3 + 1 643:poly2(3, 1, -2, 1) 604:partial application 425:-like, except that 402:dynamic compilation 164:First appeared 92: 2388:Gerald Jay Sussman 2373:Matthias Felleisen 2325:Richard P. Gabriel 2256:Richard Greenblatt 2231:Matthias Felleisen 1514:Corman Common Lisp 971:"Help Newanyarray" 788:(AI) programming. 567:updater(a)(3, 4); 473:can be written as 90: 2536: 2535: 2476: 2475: 2472: 2471: 2464:Robin Popplestone 2383:Guy L. Steele Jr. 2350:Guy L. Steele Jr. 2195: 2194: 2110: 2109: 1978: 1977: 1868:Lisp Machine Lisp 1778: 1777: 1705: 1704: 1453: 1452: 1304: 1303: 1246:Robin Popplestone 1223: 1222: 921:Popplestone, R.J. 919:; Collins, J.S.; 819:running on Apple 761:assembly language 689:(POPLAN System). 564:is equivalent to 370:Robin Popplestone 351: 350: 213:Typing discipline 137:Robin Popplestone 86: 85: 78: 2591: 2526: 2525: 2516: 2515: 2506: 2505: 2496: 2486: 2485: 2330:Philip Greenspun 2302:Richard Stallman 2216:Daniel G. Bobrow 2204: 2203: 2119: 2118: 2054: 2053: 2021: 2020: 1943:Operating system 1714: 1713: 1473: 1472: 1464: 1463: 1349: 1348: 1331: 1324: 1317: 1308: 1307: 1292: 1291: 1282: 1281: 1231: 1142: 1141: 1121: 1114: 1107: 1098: 1097: 1069: 1068: 1060: 1054: 1053: 1051: 1049: 1039: 1030: 1024: 1018: 1012: 1011: 1009: 1007: 992: 986: 985: 983: 981: 966: 960: 959: 957: 955: 940: 934: 933: 931: 913: 893: 880: 871: 779: 775: 771: 770:function ... end 636:less1squared(3) 598:are equivalent. 577: 573: 557: 548:doublet function 542: 538: 526: 525:end-of-if-clause 522: 518: 202: 200: 195: 177: 175: 170: 132:Designed by 93: 89: 81: 74: 70: 67: 61: 56:this article by 47:inline citations 34: 33: 26: 2599: 2598: 2594: 2593: 2592: 2590: 2589: 2588: 2539: 2538: 2537: 2532: 2468: 2445: 2441:Cynthia Solomon 2436:Mitchel Resnick 2397: 2359: 2306: 2260:Timothy P. Hart 2221:William Clinger 2211:Edmund Berkeley 2191: 2158: 2106: 2102:ProgramByDesign 2090: 2045: 2015: 2008: 1974: 1937: 1774: 1745: 1701: 1683: 1564: 1525:GNU Common Lisp 1508:CMU Common Lisp 1478: 1459:Implementations 1449: 1419: 1340: 1335: 1305: 1300: 1277: 1255: 1232: 1219: 1198: 1179: 1158:(1964) renamed 1131: 1125: 1078: 1073: 1072: 1063:Dewar, Hamish. 1061: 1057: 1047: 1045: 1037: 1031: 1027: 1019: 1015: 1005: 1003: 993: 989: 979: 977: 967: 963: 953: 951: 945:"Help Newarray" 941: 937: 929: 914: 910: 857: 838: 782:pattern matcher 751:which ran on a 736:data structures 713:ICL 1900 series 680:ICT 1900 series 669: 661: 655: 650: 644: 637: 631: 625: 596: 590: 584: 568: 562: 533: 527:notation yet). 513: 507: 491:Because of the 489: 483: 477: 471: 461: 455: 439: 433: 415: 410: 390:Peter J. Landin 335:(renamed POP-1) 296:implementations 203: 198: 196: 193: 173: 171: 168: 156: 82: 71: 65: 62: 52:Please help to 51: 35: 31: 24: 17: 12: 11: 5: 2597: 2587: 2586: 2581: 2576: 2571: 2566: 2561: 2556: 2551: 2534: 2533: 2481: 2478: 2477: 2474: 2473: 2470: 2469: 2467: 2466: 2461: 2455: 2453: 2447: 2446: 2444: 2443: 2438: 2433: 2431:Seymour Papert 2428: 2423: 2421:Wally Feurzeig 2418: 2416:Denison Bollay 2413: 2407: 2405: 2399: 2398: 2396: 2395: 2390: 2385: 2380: 2375: 2369: 2367: 2361: 2360: 2358: 2357: 2355:Daniel Weinreb 2352: 2347: 2342: 2337: 2327: 2322: 2316: 2314: 2308: 2307: 2305: 2304: 2299: 2294: 2289: 2284: 2279: 2274: 2269: 2266: 2261: 2258: 2253: 2248: 2243: 2238: 2233: 2228: 2226:R. Kent Dybvig 2223: 2218: 2213: 2207: 2201: 2197: 2196: 2193: 2192: 2190: 2189: 2184: 2179: 2173: 2166: 2164: 2160: 2159: 2157: 2156: 2151: 2146: 2141: 2136: 2131: 2129:Apple Computer 2125: 2123: 2116: 2112: 2111: 2108: 2107: 2105: 2104: 2098: 2096: 2092: 2091: 2089: 2088: 2082: 2077: 2072: 2066: 2060: 2058: 2051: 2047: 2046: 2044: 2043: 2038: 2033: 2027: 2025: 2018: 2010: 2009: 2007: 2006: 2001: 2000: 1999: 1988: 1986: 1980: 1979: 1976: 1975: 1973: 1968: 1963: 1954: 1947: 1945: 1939: 1938: 1936: 1935: 1930: 1925: 1920: 1915: 1910: 1905: 1900: 1895: 1890: 1885: 1880: 1875: 1870: 1865: 1860: 1855: 1850: 1845: 1840: 1835: 1826: 1821: 1816: 1800: 1795: 1790: 1785: 1779: 1776: 1775: 1773: 1772: 1767: 1762: 1755: 1753: 1747: 1746: 1744: 1743: 1738: 1733: 1728: 1722: 1720: 1711: 1710:Unstandardized 1707: 1706: 1703: 1702: 1700: 1699: 1693: 1691: 1685: 1684: 1682: 1681: 1676: 1671: 1666: 1661: 1656: 1646: 1643: 1638: 1633: 1631:MIT/GNU Scheme 1628: 1623: 1618: 1613: 1608: 1602: 1597: 1592: 1587: 1582: 1574: 1572: 1566: 1565: 1563: 1562: 1557: 1551: 1546: 1543: 1538: 1533: 1528: 1522: 1516: 1511: 1505: 1500: 1495: 1489: 1483: 1481: 1470: 1461: 1455: 1454: 1451: 1450: 1448: 1447: 1442: 1437: 1430: 1428: 1421: 1420: 1418: 1417: 1412: 1404: 1399: 1394: 1389: 1383: 1378: 1373: 1368: 1366:Dynamic typing 1363: 1358: 1352: 1346: 1342: 1341: 1334: 1333: 1326: 1319: 1311: 1302: 1301: 1299: 1298: 1269: 1267:= discontinued 1260: 1257: 1256: 1254: 1253: 1248: 1242: 1240: 1234: 1233: 1226: 1224: 1221: 1220: 1218: 1217: 1209: 1207: 1200: 1199: 1197: 1196: 1189: 1187: 1181: 1180: 1178: 1177: 1171: 1163: 1150: 1148: 1139: 1133: 1132: 1124: 1123: 1116: 1109: 1101: 1095: 1094: 1089: 1084: 1077: 1076:External links 1074: 1071: 1070: 1055: 1025: 1013: 997:"Help Updater" 987: 961: 935: 917:Burstall, R.M. 907: 906: 905: 904: 900: 899: 897:POP references 894: 881: 872: 862: 861: 856: 853: 852: 851: 845: 837: 834: 668: 665: 659: 654: 651: 648: 642: 635: 629: 623: 594: 588: 583: 580: 566: 561:3 -> a(4); 560: 532: 529: 511: 505: 487: 481: 476:x, y, z; f(); 475: 469: 459: 453: 437: 432:a  := 3; 431: 414: 411: 409: 406: 349: 348: 342: 341: 337: 336: 321: 320: 316: 315: 311: 310: 304: 303: 299: 298: 291: 290: 285: 279: 278: 265: 259: 258: 237: 231: 230: 225: 221: 220: 215: 209: 208: 205: 204: 192:1975 / 1975 191: 189: 187:Stable release 183: 182: 179: 178: 165: 161: 160: 151: 145: 144: 134: 128: 127: 121: 117: 116: 102:Multi-paradigm 99: 84: 83: 38: 36: 29: 15: 9: 6: 4: 3: 2: 2596: 2585: 2582: 2580: 2577: 2575: 2572: 2570: 2567: 2565: 2562: 2560: 2557: 2555: 2552: 2550: 2547: 2546: 2544: 2531: 2530: 2521: 2520: 2511: 2510: 2501: 2500: 2495: 2491: 2490: 2479: 2465: 2462: 2460: 2457: 2456: 2454: 2452: 2448: 2442: 2439: 2437: 2434: 2432: 2429: 2427: 2424: 2422: 2419: 2417: 2414: 2412: 2409: 2408: 2406: 2404: 2400: 2394: 2393:Julie Sussman 2391: 2389: 2386: 2384: 2381: 2379: 2376: 2374: 2371: 2370: 2368: 2366: 2362: 2356: 2353: 2351: 2348: 2346: 2343: 2341: 2340:David A. Moon 2338: 2335: 2331: 2328: 2326: 2323: 2321: 2320:Scott Fahlman 2318: 2317: 2315: 2313: 2309: 2303: 2300: 2298: 2297:Steve Russell 2295: 2293: 2290: 2288: 2285: 2283: 2280: 2278: 2277:John McCarthy 2275: 2273: 2272:David Luckham 2270: 2267: 2265: 2262: 2259: 2257: 2254: 2252: 2249: 2247: 2244: 2242: 2241:Matthew Flatt 2239: 2237: 2234: 2232: 2229: 2227: 2224: 2222: 2219: 2217: 2214: 2212: 2209: 2208: 2205: 2202: 2198: 2188: 2185: 2183: 2180: 2177: 2174: 2171: 2168: 2167: 2165: 2161: 2155: 2152: 2150: 2147: 2145: 2142: 2140: 2137: 2135: 2132: 2130: 2127: 2126: 2124: 2120: 2117: 2115:Organizations 2113: 2103: 2100: 2099: 2097: 2093: 2086: 2083: 2081: 2078: 2076: 2073: 2070: 2067: 2065: 2062: 2061: 2059: 2055: 2052: 2048: 2042: 2039: 2037: 2034: 2032: 2029: 2028: 2026: 2022: 2019: 2017: 2011: 2005: 2002: 1998: 1995: 1994: 1993: 1990: 1989: 1987: 1985: 1981: 1972: 1969: 1967: 1964: 1962: 1958: 1955: 1953: 1952: 1948: 1946: 1944: 1940: 1934: 1931: 1929: 1926: 1924: 1921: 1919: 1916: 1914: 1911: 1909: 1906: 1904: 1901: 1899: 1896: 1894: 1891: 1889: 1886: 1884: 1881: 1879: 1876: 1874: 1871: 1869: 1866: 1864: 1861: 1859: 1856: 1854: 1851: 1849: 1846: 1844: 1841: 1839: 1836: 1834: 1830: 1827: 1825: 1822: 1820: 1817: 1814: 1813: 1808: 1804: 1801: 1799: 1796: 1794: 1791: 1789: 1786: 1784: 1781: 1780: 1771: 1768: 1766: 1763: 1760: 1757: 1756: 1754: 1752: 1748: 1742: 1739: 1737: 1734: 1732: 1729: 1727: 1724: 1723: 1721: 1719: 1715: 1712: 1708: 1698: 1695: 1694: 1692: 1690: 1686: 1680: 1677: 1675: 1672: 1670: 1667: 1665: 1662: 1660: 1657: 1654: 1650: 1647: 1645:Pocket Scheme 1644: 1642: 1639: 1637: 1634: 1632: 1629: 1627: 1624: 1622: 1619: 1617: 1614: 1612: 1609: 1606: 1603: 1601: 1598: 1596: 1593: 1591: 1588: 1586: 1583: 1581: 1580: 1576: 1575: 1573: 1571: 1567: 1561: 1558: 1555: 1552: 1550: 1547: 1544: 1542: 1539: 1537: 1534: 1532: 1529: 1526: 1523: 1520: 1517: 1515: 1512: 1509: 1506: 1504: 1501: 1499: 1496: 1493: 1490: 1488: 1485: 1484: 1482: 1480: 1474: 1471: 1469: 1465: 1462: 1460: 1456: 1446: 1443: 1441: 1438: 1435: 1432: 1431: 1429: 1426: 1422: 1416: 1413: 1411: 1408: 1405: 1403: 1402:S-expressions 1400: 1398: 1395: 1393: 1390: 1387: 1386:M-expressions 1384: 1382: 1379: 1377: 1374: 1372: 1369: 1367: 1364: 1362: 1359: 1357: 1354: 1353: 1350: 1347: 1343: 1339: 1332: 1327: 1325: 1320: 1318: 1313: 1312: 1309: 1297: 1296: 1287: 1286: 1276: 1275: 1270: 1268: 1265: 1262: 1261: 1258: 1252: 1249: 1247: 1244: 1243: 1241: 1239: 1235: 1230: 1215: 1211: 1210: 1208: 1205: 1201: 1194: 1191: 1190: 1188: 1186: 1182: 1175: 1172: 1169: 1168: 1164: 1161: 1157: 1156: 1152: 1151: 1149: 1147: 1143: 1140: 1138: 1134: 1129: 1122: 1117: 1115: 1110: 1108: 1103: 1102: 1099: 1093: 1090: 1088: 1085: 1083: 1080: 1079: 1066: 1059: 1043: 1036: 1029: 1022: 1017: 1002: 998: 991: 976: 972: 965: 950: 946: 939: 928: 927: 922: 918: 912: 908: 902: 901: 898: 895: 891: 887: 882: 878: 873: 869: 864: 863: 859: 858: 849: 846: 843: 840: 839: 833: 831: 827: 822: 818: 813: 811: 807: 803: 799: 794: 789: 787: 783: 766: 762: 758: 754: 750: 749: 744: 739: 737: 733: 728: 726: 722: 718: 714: 710: 706: 701: 699: 695: 690: 688: 683: 681: 676: 674: 664: 658: 647: 641: 634: 628: 622: 620: 616: 612: 611: 606: 605: 599: 593: 587: 579: 565: 559: 553: 549: 544: 528: 510: 504: 502: 498: 494: 488:(x, y, z).f; 486: 480: 474: 468: 466: 458: 452: 450: 446: 445: 444:operand stack 436: 430: 428: 424: 420: 405: 403: 399: 395: 392:. It used an 391: 387: 383: 379: 375: 371: 367: 363: 359: 356:(also called 355: 347: 343: 338: 334: 330: 326: 322: 319:Influenced by 317: 312: 309: 305: 300: 297: 292: 289: 286: 284: 280: 277: 273: 269: 266: 264: 260: 257: 253: 249: 245: 241: 238: 236: 232: 229: 226: 222: 219: 216: 214: 210: 206: 190: 188: 184: 180: 166: 162: 159: 155: 152: 150: 146: 142: 138: 135: 133: 129: 125: 122: 118: 115: 111: 107: 103: 100: 98: 94: 88: 80: 77: 69: 59: 55: 49: 48: 42: 37: 28: 27: 22: 2527: 2517: 2507: 2497: 2487: 2459:Rod Burstall 2426:Brian Harvey 1992:Lisp machine 1949: 1810: 1764: 1577: 1468:Standardized 1407:Self-hosting 1388:(deprecated) 1376:Linked lists 1361:Conditionals 1293: 1283: 1271: 1266: 1263: 1251:Rod Burstall 1214:SPSS Modeler 1166: 1165: 1159: 1153: 1058: 1046:. Retrieved 1041: 1028: 1016: 1004:. Retrieved 1000: 990: 978:. Retrieved 974: 964: 952:. Retrieved 948: 938: 926:POP-2 Papers 925: 911: 889: 876: 867: 829: 816: 814: 790: 746: 740: 731: 729: 720: 702: 691: 684: 677: 673:Elliott 4130 670: 662: 656: 645: 638: 632: 626: 614: 608: 603: 600: 597: 591: 585: 569: 563: 551: 547: 545: 534: 514: 508: 500: 496: 490: 484: 478: 472: 470:f(x, y, z); 462: 456: 442: 440: 434: 416: 374:Rod Burstall 357: 353: 352: 240:Elliott 4130 141:Rod Burstall 87: 72: 63: 44: 2411:Hal Abelson 2345:Kent Pitman 2312:Common Lisp 2264:Louis Hodes 2251:Paul Graham 2246:Phyllis Fox 2016:of practice 1997:TI Explorer 1590:Chez Scheme 1440:CommonLoops 1204:Data mining 1130:programming 810:Standard ML 806:Common Lisp 804:, to which 541:newanyarray 501:expressions 493:stack-based 482:x, y, z.f; 438:3 -> a; 435:one writes 427:assignments 408:Description 288:Proprietary 58:introducing 2543:Categories 2292:David Park 2287:Joel Moses 2268:Mike Levin 2144:Lucid Inc. 2095:Curriculum 1928:Spice Lisp 1829:Franz Lisp 1819:Emacs Lisp 1679:TinyScheme 1503:Clozure CL 886:D. Sleeman 855:References 793:VAX-11/780 497:statements 449:statements 340:Influenced 149:Developers 114:procedural 110:reflective 106:structured 66:April 2010 41:references 2334:10th rule 2163:Education 2149:Symbolics 2139:Harlequin 2050:Education 2014:Community 1843:Interlisp 1659:Scheme 48 1636:MultiLisp 1611:GNU Guile 1531:LispWorks 1397:Recursion 1238:Designers 582:Functions 460:-> a; 2529:Category 2519:Category 2122:Business 1984:Hardware 1933:Zetalisp 1918:S-1 Lisp 1903:Picolisp 1793:BBN LISP 1788:AutoLISP 1736:StarLogo 1697:OpenLisp 1653:features 1410:compiler 1345:Features 1195:° (1982) 1176:° (1975) 1137:Software 1006:21 March 980:22 March 954:22 March 923:(1968). 836:See also 830:tag bits 817:AlphaPop 765:bytecode 610:currying 537:newarray 465:variable 417:POP-2's 386:ALGOL 60 329:ALGOL 60 308:Dialects 244:ICT 1909 235:Platform 228:assembly 97:Paradigm 2509:Commons 2178:(CSAIL) 2154:Xanalys 2075:On Lisp 1898:PC-LISP 1888:newLISP 1873:Maclisp 1833:PC-LISP 1812:history 1798:Clojure 1761:(POP-1) 1741:UCBLogo 1731:NetLogo 1726:MSWLogo 1621:JScheme 1595:Chicken 1579:History 1510:(CMUCL) 1445:Flavors 1427:systems 1264:Italics 860:General 725:TOPS-10 667:History 619:closure 576:updater 572:updater 552:updater 376:at the 360:) is a 283:License 272:TOPS-10 218:dynamic 197: ( 172: ( 54:improve 2365:Scheme 2200:People 2087:(SICP) 2071:(HTDP) 1966:Genera 1961:McCLIM 1858:LeLisp 1824:EuLisp 1770:POP-11 1759:COWSEL 1689:ISLISP 1649:Racket 1616:Ikarus 1607:(GOAL) 1600:Gambit 1585:Bigloo 1570:Scheme 1556:(SBCL) 1549:Poplog 1545:Movitz 1494:(ABCL) 1477:Common 1436:(CLOS) 1425:Object 1381:Macros 1216:(2010) 1193:Poplog 1174:POP-11 1170:(1970) 1162:(1966) 1155:COWSEL 1048:3 June 903:Inline 848:Poplog 842:POP-11 826:32-bit 802:Poplog 798:Prolog 748:POP-11 721:POP-10 717:George 709:PDP-10 687:BESM-6 615:frozen 419:syntax 366:COWSEL 346:POP-11 333:COWSEL 314:POP-10 294:Major 268:George 256:PDP-11 252:PDP-10 248:BESM-6 120:Family 43:, but 2499:Books 2172:(MIT) 2057:Books 2041:X3J13 1923:SKILL 1883:MLisp 1853:*Lisp 1807:Apple 1803:Dylan 1765:POP-2 1527:(GCL) 1521:(ECL) 1498:CLISP 1167:POP-2 1160:POP-1 1038:(PDF) 930:(PDF) 879:(25). 778:close 772:with 646:i.e. 521:endif 519:, as 517:close 423:ALGOL 413:Stack 368:) by 354:POP-2 126:: POP 91:POP-2 2489:List 2403:Logo 1971:Scsh 1951:List 1718:Logo 1669:SIOD 1641:Pico 1626:Kawa 1541:Mocl 1479:Lisp 1272:° = 1206:tool 1050:2022 1008:2024 982:2024 956:2024 808:and 757:Unix 732:WPOP 694:EMAS 592:and 509:and 499:and 384:and 382:Lisp 372:and 358:POP2 325:Lisp 302:WPOP 276:Unix 199:1975 174:1970 167:1970 124:Lisp 21:POP2 2451:POP 1913:RPL 1893:NIL 1878:MDL 1863:LFE 1783:Arc 1751:POP 1664:SCM 1128:POP 821:Mac 698:IMP 485:or 454:3; 421:is 2545:: 1959:, 1838:Hy 1831:, 1809:, 1040:. 999:. 973:. 947:. 738:. 711:, 700:. 451:: 331:, 327:, 274:, 270:, 263:OS 254:, 250:, 246:, 242:, 139:; 112:, 108:, 104:: 2336:) 2332:( 1815:) 1805:( 1674:T 1655:) 1651:( 1330:e 1323:t 1316:v 1120:e 1113:t 1106:v 1067:. 1052:. 1010:. 984:. 958:. 556:a 201:) 176:) 79:) 73:( 68:) 64:( 50:. 23:.

Index

POP2
references
inline citations
improve
introducing
Learn how and when to remove this message
Paradigm
Multi-paradigm
structured
reflective
procedural
Lisp
Designed by
Robin Popplestone
Rod Burstall
Developers
University of Edinburgh
University of Sussex
Stable release
Typing discipline
dynamic
assembly
Platform
Elliott 4130
ICT 1909
BESM-6
PDP-10
PDP-11
OS
George

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

↑