Poplog - Poplog

Poplog er en åpen kildekode , reflekterende , gradvis samlet programvareutvikling miljø for programmeringsspråk POP-11 , Common Lisp , Prolog , og Standard ML , opprinnelig opprettet i Storbritannia for undervisning og forskning innen kunstig intelligens ved University of Sussex , og senere markedsført som en kommersiell pakke for programvareutvikling samt for undervisning og forskning. Det var et av initiativene som en stund ble støttet av det britiske regjeringsfinansierte Alvey-programmet .

Historie

Etter at en inkrementell kompilator for Prolog var blitt lagt til i en implementering av POP-11 , ble navnet POPLOG vedtatt, for å gjenspeile det faktum at det utvidede systemet støttet programmering på begge språk. Navnet ble beholdt som et varemerke for University of Sussex , da systemet senere (midten av 1980 -tallet ) ble utvidet med trinnvise kompilatorer for Common Lisp og Standard ML basert på et sett med verktøy for å implementere nye språk i Poplog Virtual Machine. De brukervennlige inkrementelle kompilatorverktøyene som gjør det mulig å legge til kompilatorer for alle disse språkene, gjør det også mulig å lage utvidelser på et språk for å gi nye krefter som ikke kan legges til ved hjelp av standardmakroer som bare tillater at ny tekst tilsvarer en lengre del av gammel tekst.

En stund etter 1983 ble Poplog solgt og støttet internasjonalt som et kommersielt produkt, på vegne av University of Sussex av Systems Designers Ltd (SDL), hvis navn endret seg etter hvert som eierskapet endret seg. Det viktigste utviklingsarbeidet ble fortsatt utført av et lite team ved Sussex University til 1998, mens markedsføring, salg og support (bortsett fra britiske akademiske brukere, som handlet direkte med Sussex -teamet) ble utført av SDL og dets etterfølgere (SD, deretter SD-Scicon og deretter EDS ) til 1991. På den tiden produserte et ledelsesutkjøp et spin-off selskap Integral Solutions Ltd (ISL), for å selge og støtte Poplog i samarbeid med Sussex University, som beholdt rettighetene til navnet ' Poplog 'og var ansvarlig for kjerneutviklingen mens det var et kommersielt produkt. I 1992 vant ISL og Sussex University en "Smart Award" som anerkjennelse for Poplog -salg til en verdi av $ 5 millioner. ISL og dets kunder brukte Poplog for en rekke utviklingsprosjekter, spesielt ISLs data-gruvesystem Clementine, for det meste implementert i POP-11, ved å bruke kraftige grafiske verktøy implementert også i POP-11 som kjører på X Window System . Clementine var så vellykket at ISL i 1998 ble kjøpt av SPSS Inc som hadde solgt statistikk- og datautvinningspakken SPSS som de trengte et bedre grafisk grensesnitt for eksperter og ikke-ekspertbrukere. SPSS ønsket ikke å selge og støtte Poplog som sådan, så Poplog ble deretter tilgjengelig som en gratis programvare med åpen kildekode , hostet ved University of Birmingham , som også hadde vært involvert i utvikling etter 1991. Senere kjøpte IBM SPSS og Clementine er nå markedsført og støttet som SPSS Modeler .

Støttede språk

Poplogs kjernespråk er POP-11 . Den brukes til å implementere de andre språkene, alle sammen trinnvis kompilert , med en integrert felles redaktør. I Linux / Unix-versjoner, POP-11 gir støtte for to-grafikk via X .

Poplog støtter trinnvis kompilerte versjoner av Common Lisp , POP-11 , Prolog og Standard ML . En egen pakke implementert av Robin Popplestone støtter en versjon av Scheme .

Poplog har blitt brukt både til akademisk forskning og undervisning i kunstig intelligens og også til å utvikle flere kommersielle produkter, bortsett fra Clementine. I 1992 vant ISL og Sussex University en ICP Million Dollar -pris som anerkjennelse for at Poplog oversteg salget på 5 millioner dollar.

Plattformer

POP-11 ble først implementert på en DEC PDP-11 datamaskin i 1976, og ble portet til VAX / VMS i 1980. Det ble Poplog rundt 1982. Selv om det første kommersielle salget var for VAX / VMS, fra midten av 1980-tallet, det viktigste Poplog-utviklingsarbeidet ble utført på Sun SPARC- datamaskiner som kjører Solaris , selv om flere forskjellige versjoner ble solgt, inkludert versjoner for HP-UX og en 64-biters versjon av Poplog for DEC Alpha som kjører Digital UNIX . Etter omtrent 1999, da Poplog ble tilgjengelig som gratis, åpen kildekode, ble det meste utviklingsarbeid utført på Linux-versjonen, inkludert porting til 64-bit Linux. En delvis port til Mac OS XPowerPC ble gjort i 2005.

Det er en versjon for Windows , opprinnelig utviklet for å støtte Clementine, men det grafiske delsystemet Unix/Linux fungerer ikke på Windows Poplog. Windows -versjonen av Clementine var avhengig av en kommersiell pakke som støttet X -funksjonalitet på Windows.

Det er også et åpen kildekode -prosjekt som hadde som mål å produsere en mer plattformnøytral versjon av Poplog, inkludert Windows. Den siste utviklingen av dette prosjektet inkluderer en webserverkomponent for integrering i Poplog -applikasjoner, og OpenPoplog Widget Collection for å støtte klientbrukergrensesnitt som kjøres i en nettleser. Et mer smalt fokusert åpen kildekode Poplog-prosjekt, begrenset til 64-biters AMD64/X86-68-arkitekturen ble satt opp på GitHub av Waldek Hebisch: [1] . Dette er nå grunnlaget for Poplog versjon 16 som ble arrangert ved University of Birmingham [2] .

Ytterligere informasjon om historien og funksjonene til Poplog finner du i oppføringene for POP-2 og POP-11 . Sjefarkitekten for Poplog, ansvarlig for mange innovasjoner knyttet til å gjøre et trinnvis kompilert system bærbart, og gi støtte for en samling språk var John Gibson, ved Sussex University, selv om det tidligste arbeidet ble utført av Steve Hardy. Chris Mellish hjalp til med den første Prolog-implementeringen i POP-11. John Williams, som arbeidet under tilsyn av Jonathan Cunningham, implementerte delsystemet Common Lisp. Robert Duncan og Simon Nichols la til Standard ML. Mellom omtrent 1980 og 1991 ble prosjektet administrert av Aaron Sloman , til han dro til University of Birmingham , selv om han fortsatte å samarbeide med Sussex og ISL om Poplog -utvikling etter det. Siden 1999 har han vært ansvarlig for det viktigste Poplog-nettstedet, samt noen av utvidelsene som finnes der, oppført under POP-11.

Gjennomføring

Prolog-delmengden til Poplog er implementert ved hjelp av den utvidbare inkrementelle kompilatoren til POP-11 , kjernespråket til Poplog, som er et Lisp-lignende språk for generelle formål med en mer konvensjonell syntaks. Implementeringen krevde Poplog Virtual Machine til å bli utvidet for å gi støtte til Prolog fortsettelser , Prolog variabler, den Prolog trail (opptak angres variable bindinger), og Prolog vilkår. Implementeringen ble begrenset av behovet for å tillate datastrukturer å bli delt med de andre Poplog-språkene, spesielt POP-11 og Common Lisp , og dermed gi støtte for en blanding av programmeringsstiler.

Referanser

  1. ^ Smith, Robert; Sloman, Aaron & Gibson, John (1992). "POPLOGs to-nivå virtuell maskinstøtte for interaktive språk" . I Sleeman, D. & Bernsen, N. (red.). Research Directions in Cognitive Science Volume 5: Artificial Intelligence . Lawrence Erlbaum Associates. s. 203–231.
  2. ^ https://www.nytimes.com/1991/08/17/business/company-news-electronic-data-wins-in-offer-for-sd-scicon.html
  3. ^ http://www.cs.bham.ac.uk/research/projects/poplog/figs/jpg/smart-poplog-5million.jpg
  4. ^ Den gratis Poplog -portalen
  5. ^ Khabaza, Tom. (1999). Historien om Clementine
  6. ^ Se side 3 i Bulletin fra Sussex University 20. mai 1992
  7. ^ OpenPoplog

Eksterne linker