POP-2
POP-2 (also referred to as POP2) is a programming language developed around 1970 from the earlier language POP-1 (developed by Robin Popplestone in 1968, originally named COWSEL) by Robin Popplestone and Rod Burstall at the University of Edinburgh. It drew roots from many sources: the languages LISP and ALGOL 60, and theoretical ideas from Peter J. Landin. It used an incremental compiler, which gave it some of the flexibility of an interpreted language, including allowing new function definitions at run time and modification of function definitions while a program was running (both of which are features of dynamic compilation), without the overhead of an interpreted language. Description Stack POP-2's syntax was Algol-like, except that assignments were the other way round: instead of writing a := 3; one wrote 3 -> a; The reason for this was that the language had explicit notion of an '' operand stack''; thus, the previous assignment could be written as two separate ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Robin Popplestone
Robin John Popplestone (9 December 1938 in Bristol – 14 April 2004 in Glasgow) was a pioneer in the fields of machine intelligence and robotics. He is known for developing the COWSEL and POP-2, POP programming languages, and for his work on Freddy II with Pat Ambler at the University of Edinburgh Artificial Intelligence laboratory. Biography Robin Popplestone was born in Bristol in 1938, but after WWII his family moved to Belfast.Robin Popplestone obituary The Scotsman, 22 April 2004 He received an honours degree in mathematics from Queen's University Belfast in 1960. He started a PhD at Manchester University before moving to Leeds University. His project was to develop a program for automated theorem proving, but he got caught up in using the university computer to design a ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
COWSEL
COWSEL (''COntrolled Working SpacE Language'') is a programming language designed between 1964 and 1966 by Robin Popplestone. It was based on an reverse Polish notation, RPN form of Lisp programming language, Lisp combined with some ideas from Combined Programming Language, CPL. COWSEL was initially implemented on a Ferranti Pegasus computer at the University of Leeds and on a Stantec Zebra at the Bradford Institute of Technology; later, Rod Burstall implemented it on an Elliot 4120 at the University of Edinburgh. COWSEL was renamed POP-1 during the summer of 1966 and development continued under that name from then on. Example code function member lambda x y comment Is x a member of list y; define y atom then *0 end y hd x equal then *1 end y tl -> y repeat up Note that keywords were also underlined in the original printouts. Popplestone used a Friden Flexowriter, Flexowriter with underscoring for syntax highlighting. See also * POP-2 programmi ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Poplog
Poplog is an open source, reflective, incrementally compiled software development environment for the programming languages POP-11, Common Lisp, Prolog, and Standard ML, originally created in the UK for teaching and research in Artificial Intelligence at the University of Sussex, and later marketed as a commercial package for software development as well as for teaching and research. It was one of the initiatives supported for a while by the UK government-funded Alvey Programme. History After an incremental compiler for Prolog had been added to an implementation of POP-11, the name POPLOG was adopted, to reflect the fact that the expanded system supported programming in both languages. The name was retained, as a trade mark of the University of Sussex, when the system was later (mid 1980s) extended with incremental compilers for Common Lisp and Standard ML based on a set of tools for implementing new languages in the Poplog Virtual Machine. The user-accessible incremental-compiler ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Rod Burstall
Rodney Martineau "Rod" Burstall FRSE (born 1934) is a British computer scientist and one of four founders of the Laboratory for Foundations of Computer Science at the University of Edinburgh. Biography Burstall studied physics at the University of Cambridge, then an M.Sc. in operational research at Birmingham University. He worked for three years before returning to Birmingham University to earn a Ph.D. in 1966 with thesis titled ''Heuristic and Decision Tree Methods on Computers: Some Operational Research Applications'' under the supervision of N. A. Dudley and K. B. Haley. Burstall was an early and influential proponent of functional programming, pattern matching, and list comprehension, and is known for his work with Robin Popplestone on POP, an innovative programming language developed at Edinburgh around 1970, and later work with John Darlington on NPL and program transformation and with David MacQueen and Don Sannella on Hope, a precursor to Standard ML, Miranda, ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
ICT 1900 Series
ICT 1900 was a family of mainframe computers released by International Computers and Tabulators (ICT) and later International Computers Limited (ICL) during the 1960s and 1970s. The 1900 series was notable for being one of the few non-American competitors to the IBM System/360, enjoying significant success in the European and British Commonwealth markets. Origins In early 1963, ICT was engaged in negotiations to buy the computer business of Ferranti. In order to sweeten the deal, Ferranti demonstrated to ICT the Ferranti-Packard 6000 (FP6000) machine, which had been developed by its Canadian subsidiary Ferranti-Packard, to a design known as Harriac that had been initiated in Ferranti by Harry Johnson and fleshed out by Stanley Gill and John Iliffe. The FP6000 was an advanced design, notably including hardware support for multiprogramming. ICT considered using the FP6000 as their medium-sized processor in the 1965–1968 timeframe, replacing the ICT 1302. Another plan ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Incremental Compiler
An incremental compiler is a kind of incremental computation applied to the field of compilation. Quite naturally, whereas ordinary compilers make a so-called clean build, that is, (re)build all program modules, an incremental compiler recompiles only modified portions of a program. Definition Imperative programming In imperative programming and software development, incremental compilation takes only the ''changes'' of a known set of source files and ''updates'' any corresponding output files (in the compiler's target language, often bytecode) that may already exist from previous compilations. By effectively ''building upon'' previously compiled output files, an incremental compiler avoids the wasteful recompiling of entire source files, where most of the code remains unchanged. For most incremental compilers, compiling a program with small changes to its source code is usually near instantaneous. It can be said that an incremental compiler reduces the granularity of a language's ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
POP-11
POP-11 is a reflective, incrementally compiled programming language with many of the features of an interpreted language. It is the core language of the Poplog programming environment developed originally by the University of Sussex, and recently in the School of Computer Science at the University of Birmingham, which hosts the main Poplog website. POP-11 is an evolution of the language POP-2, developed in Edinburgh University, and features an open stack model (like Forth, among others). It is mainly procedural, but supports declarative language constructs, including a pattern matcher, and is mostly used for research and teaching in artificial intelligence, although it has features sufficient for many other classes of problems. It is often used to introduce symbolic programming techniques to programmers of more conventional languages like Pascal, who find POP syntax more familiar than that of Lisp. One of POP-11's features is that it supports first-class functions. POP-11 is th ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Dynamic Compilation
Dynamic compilation is a process used by some programming language implementations to gain performance during program execution. Although the technique originated in Smalltalk,Peter L. Deutsch and Alan Schiffman. "Efficient Implementation of the Smalltalk-80 System", 11th Annual Symposium on Principles of Programming Languages, Jan 1984, pp. 297-302 the best-known language that uses this technique is Java. Since the machine code emitted by a dynamic compiler is constructed and optimized at program runtime, the use of dynamic compilation enables optimizations for efficiency not available to statically-compiled programs (i.e. those compiled by a so-called "batch compiler", as written below) except through code duplication or metaprogramming. Runtime environments using dynamic compilation typically have programs run slowly for the first few minutes, and then after that, most of the compilation and recompilation is done and it runs quickly. Due to this initial performance lag, dynamic ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Programming Language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming language is usually split into the two components of syntax (form) and semantics (meaning), which are usually defined by a formal language. Some languages are defined by a specification document (for example, the C programming language is specified by an ISO Standard) while other languages (such as Perl) have a dominant implementation that is treated as a reference. Some languages have both, with the basic language defined by a standard and extensions taken from the dominant implementation being common. Programming language theory is the subfield of computer science that studies the design, implementation, analysis, characterization, and classification of programming languages. Definitions There are many considerations when defini ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others. Initially intended for use inside the Bell System, AT&T licensed Unix to outside parties in the late 1970s, leading to a variety of both academic and commercial Unix variants from vendors including University of California, Berkeley (Berkeley Software Distribution, BSD), Microsoft (Xenix), Sun Microsystems (SunOS/Solaris (operating system), Solaris), Hewlett-Packard, HP/Hewlett Packard Enterprise, HPE (HP-UX), and IBM (IBM AIX, AIX). In the early 1990s, AT&T sold its rights in Unix to Novell, which then sold the UNIX trademark to The Open Group, an industry consortium founded in 1996. The Open Group allows the use of the mark for certified operating systems that comply with the Single UNIX Specification (SUS). Unix systems are chara ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
VAX-11/780
The VAX-11 is a discontinued family of 32-bit superminicomputers, running the Virtual Address eXtension (VAX) instruction set architecture (ISA), developed and manufactured by Digital Equipment Corporation (DEC). Development began in 1976. In addition to being powerful machines in their own right, they also offer the additional ability to run user mode PDP-11 code (thus the -11 in VAX-11), offering an upward compatible path for existing customers. The first machine in the series, the VAX-11/780, was announced in October 1977. Its former competitors in the minicomputer space, like Data General and Hewlett-Packard, were unable to successfully respond to the introduction and rapid update of the VAX design. DEC followed the VAX-11/780 with the lower-cost 11/750, and the even lower cost 11/730 and 11/725 models in 1982. More powerful models, initially known as the VAX-11/790 and VAX-11/795, were instead rebranded as the VAX 8600 series. The VAX-11 line was discontinued in 1988, havin ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |
|
Common Lisp
Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived from the ANSI Common Lisp standard. The Common Lisp language was developed as a standardized and improved successor of Maclisp. By the early 1980s several groups were already at work on diverse successors to MacLisp: Lisp Machine Lisp (aka ZetaLisp), Spice Lisp, NIL and S-1 Lisp. Common Lisp sought to unify, standardise, and extend the features of these MacLisp dialects. Common Lisp is not an implementation, but rather a language specification. Several implementations of the Common Lisp standard are available, including free and open-source software and proprietary products. Common Lisp is a general-purpose, multi-paradigm programming language. It supports a combination of procedural, functional, and object-oriented programming paradigms ... [...More Info...]       [...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]   |