Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Poplog
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Programming language}} {{Use dmy dates|date=April 2022}} {{Use British English|date=March 2024}} {{Infobox software | title = Poplog | logo = <!-- Filename only --> | logo caption = | logo alt = | logo size = | screenshot = <!-- Filename only --> | screenshot alt = | caption = | other names = | author = [[Robin Popplestone]], Steve Hardy, Chris Mellish, Aaron Sloman, John Williams, Robert Duncan, Simon Nichols, John Gibson | developer = [[University of Sussex]]<br/>Systems Designers Ltd.<br/>Integral Solutions Ltd.<br/>[[University of Birmingham]] | released = {{Start date and age|1982}} | latest release version = 16 | latest release date = {{Start date and age|2020|01}} | latest preview version = | latest preview date = {{Start date and age|2021|11}} | repo = {{URL|getpoplog.github.io}} | qid = | programming language = [[POP-11]] | middleware = | engine = <!-- or |engines= --> | operating system = [[Cross-platform software|Cross-platform]]: [[OpenVMS|VMS]], [[Unix]], [[Linux]], [[macOS|Mac OS X]], [[Windows]]<!-- Best historic order --> | platform = [[VAX]], [[SPARC]], [[IA-32]], [[PowerPC]], [[x86-64]]<!-- Best historic order --> | included with = | size = 17+ MB | language = English | genre = [[Integrated development environment|IDE]] | license = [[Proprietary software|Proprietary]] (1982β1999)<br/>[[Open-source software|Open-source]] (1999βpresent): [[MIT License|MIT]]β[[XFree86 License|XFree86]] | website = {{URL|www.cs.bham.ac.uk/research/projects/poplog/poplog.info.html}} | AsOf = }} '''Poplog''' is a [[Reflective programming|reflective]], [[Dynamic compilation#Incremental compilation|incrementally compiled]] [[software development]] [[computer programming]] [[integrated development environment]] and [[system platform]] for the [[programming language]]s [[POP-11]], [[Common Lisp]], [[Prolog]], and [[Standard ML]]. It was created originally in the [[United Kingdom]] for teaching and research in [[artificial intelligence]], at the [[University of Sussex]], and later marketed as a commercial package for software development, teaching, and research. It was one of the initiatives supported for a time by the UK government-funded [[Alvey Programme]]. It was licensed originally from 1982 to 1999, as [[proprietary software]], then released in 1999 as [[open-source software]], under a mix of [[MIT License|MIT]] and then [[XFree86 License|XFree86]] licenses. ==History== After an [[incremental compiler]] for [[Prolog]] had been added to an implementation of [[POP-11]], the name POPLOG was adopted, to reflect 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.<ref>{{cite book |last1=Smith |first1=Robert |last2=Sloman |first2=Aaron |last3=Gibson |first3=John |date=1992 |chapter=Poplog's two-level virtual machine support for interactive languages |chapter-url=http://www.cs.bham.ac.uk/research/projects/cogaff/10.html#1005 |editor1-last=Sleeman |editor1-first=D. |editor2-last=Bernsen |editor2-first=N. |title=Research Directions in Cognitive Science Volume 5: Artificial Intelligence |publisher=Lawrence Erlbaum Associates |pages=203β231}}</ref> The user-accessible incremental-compiler tools that allow compilers for all these languages to be added also allow extensions to be made within a language to provide new abilities that cannot be added via standard macros that merely allow new text to be equivalent to a longer portion of old text. For some time after 1983,{{Vague|date=May 2025}} Poplog was sold and supported internationally as a commercial product, on behalf of the University of Sussex by Systems Designers Ltd (SDL), whose name changed as ownership changed. The main development work continued to be done by a small team at Sussex University until 1998, while marketing, sales, and support (except for UK academic users, who dealt directly with the Sussex team) was done by SDL and its successors (SD, then SD-Scicon then [[Electronic Data Systems]] (EDS)<ref>{{Cite news |date=17 August 1991 |url=https://www.nytimes.com/1991/08/17/business/company-news-electronic-data-wins-in-offer-for-sd-scicon.html |title=Company News: Electronic Data Wins in Offer for SD-Scicon |work=The New York Times}}</ref>) until 1991. At that time a management buy-out produced a spin-off company Integral Solutions Ltd (ISL), to sell and support Poplog in collaboration with Sussex University, who retained the rights to the name 'Poplog' and were responsible for the core software development while it was a commercial product. In 1992 ISL and Sussex University won a "Smart Award" in recognition of Poplog sales worth $5M.<ref>{{Cite web| title=ICP Million Dollar Awards | url=http://www.cs.bham.ac.uk/research/projects/poplog/figs/jpg/smart-poplog-5million.jpg | archive-url=https://web.archive.org/web/20130317010810/http://www.cs.bham.ac.uk/research/projects/poplog/figs/jpg/smart-poplog-5million.jpg | archive-date=2013-03-17}}</ref> ISL and its clients used Poplog for many development projects, especially ISL's data-mining system Clementine, mostly implemented in POP-11, using powerful graphical tools implemented also in POP-11 running on the [[X Window System]]. Clementine was so successful that in 1998 ISL was bought by [http://www.spss.com/ SPSS Inc] who had been selling the statistics and data-mining package [[SPSS]] for which they needed a better graphical interface suited to expert and non-expert users. SPSS did not wish to sell and support Poplog as such, so Poplog then became available as a free [[Open-source software|open source]] software package,<ref>[http://www.cs.bham.ac.uk/research/projects/poplog/freepoplog.html The Free Poplog Portal]</ref> hosted at the [[University of Birmingham]], which had also been involved in development after 1991. Later [[IBM]] bought SPSS and Clementine is now marketed and supported as [[SPSS Modeler]].<ref>[http://www.cs.bham.ac.uk/research/projects/poplog/isl-docs/1999-AISBQ-TheStoryofClementine.pdf Khabaza, Tom. (1999). The Story of Clementine]</ref> ==Supported languages== Poplog's core language is [[POP-11]]. It is used to implement the other languages, all of them [[dynamic compilation|incrementally compiled]], with an integrated common editor. In the Linux/Unix versions, POP-11 provides support for 2-D graphics via [[X Window System|X]]. Poplog supports incrementally compiled versions of [[Common Lisp]], [[POP-11]], [[Prolog]], and [[Standard ML]]. A separate package implemented by [[Robin Popplestone]] supports a version of [[Scheme (programming language)|Scheme]]. Poplog has been used both for academic research and teaching in artificial intelligence and also to develop several commercial products, apart from Clementine. In 1992, ISL and Sussex University won an ICP Million Dollar award in recognition of Poplog exceeding sales of US$5 million.<ref>[http://www.sussex.ac.uk/internal/bulletin/downloads/1990-1999/1992/May/19920520.pdf See page 3 of the May 20 1992 Sussex University Bulletin]</ref> ==Platforms== POP-11 was at first implemented on a [[Digital Equipment Corporation|DEC]] [[PDP-11]] computer in 1976, and was ported to [[VAX]]/[[OpenVMS|VMS]] in 1980. It became Poplog around 1982. Although the first commercial sales were for VAX/VMS, from the mid-1980s, the main Poplog development work was done on [[Sun Microsystems|Sun]] [[SPARC]] computers running [[Solaris (operating system)|Solaris]], although several different versions were sold, including versions for [[HP-UX]] and a [[64-bit computing|64-bit]] version of Poplog for [[DEC Alpha]] running [[Tru64 UNIX|Digital UNIX]]. After about 1999, when Poplog became available as free, open source, most development work was done on the Linux version, including porting to 64-bit Linux. A partial port to [[Mac OS X]] on [[PowerPC]] was done in 2005. There is a version for [[Microsoft Windows|Windows]], originally developed to support Clementine, but the Unix/Linux graphical subsystem does not work on Windows Poplog. The Windows version of Clementine depended on a commercial package that supported [[X Window System|X]] functionality on Windows. There is also an [[open source]] project<ref>[http://openpoplog.sourceforge.net/ OpenPoplog]</ref> which aimed to produce a more platform neutral version of Poplog, including Windows. The most recent development by this project includes a web server component for integrating into Poplog applications, and the OpenPoplog Widget Collection for supporting client user interfaces running in a web browser. A more narrowly focused open source Poplog project, restricted to the 64-bit AMD64/X86-64 architecture was set up on GitHub by Waldek Hebisch: [https://github.com/hebisch/poplog]. This is now the basis of Poplog Version 16 hosted at the University of Birmingham [https://www.cs.bham.ac.uk/research/projects/poplog/V16/AREADME.html]. Additional information about the history and features of Poplog can be found in the entries for [[POP-2]] and [[POP-11]]. The chief architect of Poplog, responsible for many innovations related to making an incrementally compiled system portable, and providing support for a collection of languages was John Gibson, at Sussex University, though the earliest work was done by Steve Hardy. Chris Mellish helped with the initial Prolog implementation in POP-11. John Williams, working under supervision of Jonathan Cunningham implemented the Common Lisp subsystem. Robert Duncan and Simon Nichols added Standard ML. Between about 1980 and 1991, the project was managed by [[Aaron Sloman]], until he went to the [[University of Birmingham]], though he continued to collaborate with Sussex and ISL on Poplog development after that. Since 1999, he has been responsible for the main Poplog web site, as well as some of the extensions to be found there, listed under POP-11. ==Implementation== The Prolog subset of Poplog is implemented using the extendable [[incremental compiler]] of [[POP-11]], the core language of Poplog, which is a general purpose Lisp-like language with a more conventional syntax. The implementation required the Poplog Virtual Machine to be extended to provide support for Prolog [[continuation]]s, Prolog variables, the Prolog ''trail'' (recording undoable variable bindings), and Prolog terms. The implementation was constrained by the need to allow data-structures to be shared with the other Poplog languages, especially [[POP-11]] and [[Common Lisp]], thereby providing support for a mixture of programming styles. ==References== {{Reflist}} ==External links== *{{Official website|www.cs.bham.ac.uk/research/projects/poplog/freepoplog.html}}, Free Poplog Portal *{{GitHub|GetPoplog}} *[http://www.cs.bham.ac.uk/research/projects/cogaff/eliza The online Poplog Eliza] *[http://www.cs.bham.ac.uk/research/projects/poplog/figs/jpg/smart-poplog-5million.jpg Photo of ICP award Plaque] *Details also available here: [http://www.cs.bham.ac.uk/research/projects/poplog/isl-docs/poplog-sussex-bulletin/] {{POP programming}} {{Lisp programming language}} {{Common Lisp}} {{ML programming}} {{Integrated development environments}} [[Category:Dynamic programming languages]] [[Category:Extensible syntax programming languages]] [[Category:History of computing in the United Kingdom]] [[Category:Stack-oriented programming languages]] [[Category:University of Birmingham]] [[Category:University of Sussex]] [[Category:Code navigation tools]] [[Category:Cross-platform free software]] [[Category:Formerly proprietary software]] [[Category:Free integrated development environments]] [[Category:Integrated development environments]] [[Category:Linux integrated development environments]] [[Category:Linux programming tools]] [[Category:Linux software]] [[Category:MacOS programming tools]] [[Category:MacOS text editors]] [[Category:Programming tools for Windows]] [[Category:Software development kits]] [[Category:Software using the MIT license]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite book
(
edit
)
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:Common Lisp
(
edit
)
Template:GitHub
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Integrated development environments
(
edit
)
Template:Lisp programming language
(
edit
)
Template:ML programming
(
edit
)
Template:Main other
(
edit
)
Template:Official website
(
edit
)
Template:POP programming
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)
Template:Use British English
(
edit
)
Template:Use dmy dates
(
edit
)
Template:Vague
(
edit
)