COWSEL
{{Short description|Programming language}}
{{One source|date=March 2024}}
{{Use dmy dates|date=March 2024}}
{{Use British English|date=March 2024}}
{{Infobox programming language
| name = COWSEL, POP-1
| logo =
| logo caption =
| screenshot =
| screenshot caption =
| sampleCode =
| paradigm = Multi-paradigm: structured, reflective, procedural
| family = Lisp: POP
| designers = Robin Popplestone, Rod Burstall
| developers = University of Leeds, Bradford Institute of Technology, University of Edinburgh
| released = {{Start date and age|1964}}
| latest release version =
| latest release date =
| typing = dynamic
| memory management =
| scope =
| programming language = assembly
| platform = Ferranti Pegasus, Stantec Zebra, Elliot 4120
| operating system =
| license = Proprietary
| file ext =
| file format =
| website =
| implementations =
| dialects =
| influenced = POP-2
}}
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 the 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 in 1966, during summer, 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
Reserved words (keywords) were also underlined in the original printouts. Popplestone performed syntax highlighting by using underscoring on a Friden Flexowriter.
See also
References
- Technical report: EPU-R-12, U Edinburgh (Apr 1966)
External links
- [https://web.archive.org/web/20080906044133/http://hopl.murdoch.edu.au/showlanguage2.prx?exp=196 "The Early Development of POP" on The Encyclopedia of Computer Languages]
{{POP programming}}
{{Lisp programming language}}
Category:Lisp programming language family
Category:History of computing in the United Kingdom
Category:Programming languages created in 1964
Category:Programming languages
Category:Science and technology in Edinburgh
Category:University of Bradford
Category:University of Edinburgh
{{Prog-lang-stub}}