The Interlisp programming environment

17
The Interlisp The Interlisp programming programming environment environment Serife Sancar – 0127087 Serife Sancar – 0127087 10.December.2004 10.December.2004

description

The Interlisp programming environment. Serife Sancar – 0127087 10.December.2004. Überblick. Interlisp ist vor allem eine Programmierumgebung basiert auf die Programmiersprache Lisp wird meistens von der AI-community verwendet. Überblick. - PowerPoint PPT Presentation

Transcript of The Interlisp programming environment

Page 1: The Interlisp programming environment

The Interlisp programming The Interlisp programming environmentenvironment

Serife Sancar – 0127087 Serife Sancar – 0127087

10.December.2004 10.December.2004

Page 2: The Interlisp programming environment

ÜberblickÜberblick

o InterlispInterlisp ist vor allem eine Programmierumgebungist vor allem eine Programmierumgebung

basiert auf die Programmiersprache Lispbasiert auf die Programmiersprache Lisp

wird meistens von der AI-communitywird meistens von der AI-community

verwendet.verwendet.

Page 3: The Interlisp programming environment

ÜberblickÜberblick

o Interlisp unterstützt experimentelle Interlisp unterstützt experimentelle ProgrammierungProgrammierung- Wichtig für die AI communityWichtig für die AI community

o Interlisp versucht “ die Maschine das Interlisp versucht “ die Maschine das meiste tun zu lassen “meiste tun zu lassen “- Maschinenkarten werden güngstigerMaschinenkarten werden güngstiger

Page 4: The Interlisp programming environment

ÜberblickÜberblick

o Interlisp ist geeignet für ExperteInterlisp ist geeignet für Experte

- bietet viele Möglichkeiten (z.B.:DWIM….)bietet viele Möglichkeiten (z.B.:DWIM….)

- Deshalb kein leicht zu verstehendes Deshalb kein leicht zu verstehendes

User-InterfaceUser-Interface

Page 5: The Interlisp programming environment

BackgraundBackgraund

o Basiert auf LispBasiert auf Lisp- Die Syntax von Lisp ist verständlichDie Syntax von Lisp ist verständlich- Geeignet um komplizierte Programme zu Geeignet um komplizierte Programme zu

schreibenschreiben

o Einbindung von möglichen UsernEinbindung von möglichen Usern- Seit dem Beginn der Entwicklung von Seit dem Beginn der Entwicklung von Interlisp Beeinflussen mögliche user Interlisp Beeinflussen mögliche user den Entwicklungsprozessden Entwicklungsprozess

Page 6: The Interlisp programming environment

File packageFile package

o Enstand durch schrittweiseEnstand durch schrittweise

o Am Anfang:einfache SpeichermöglichkeitAm Anfang:einfache Speichermöglichkeit

o Jetzt : Interlisp kümmert sich um die Jetzt : Interlisp kümmert sich um die SpeicherungSpeicherung- Registriert Änderungen in DateienRegistriert Änderungen in Dateien- Benutzer kann selbst Funktionen einfügenBenutzer kann selbst Funktionen einfügen

Page 7: The Interlisp programming environment

MasterscopeMasterscope

o Bietet die Möglichkeit Abhängigkeiten zu Bietet die Möglichkeit Abhängigkeiten zu überblickenüberblicken

o Führt eine Datenbank um die Ergebnisse Führt eine Datenbank um die Ergebnisse dieser Abhängigkeitanalyse zu speicherndieser Abhängigkeitanalyse zu speichern

o Ermöglicht dem User Mastercope für Ermöglicht dem User Mastercope für weitere Lisp-formen zu erweiternweitere Lisp-formen zu erweitern

Page 8: The Interlisp programming environment

DWIM ( Do What I Mean )DWIM ( Do What I Mean )

o Versucht bei einem Fehler ( error ) Versucht bei einem Fehler ( error )

zu vermuten was der User eigentlichzu vermuten was der User eigentlich

gemeint hatgemeint hat

- Spell corrector Spell corrector

ein Beispiel :ein Beispiel :

Statt nil = nullStatt nil = null

korrigiert selber null auf nil korrigiert selber null auf nil

Page 9: The Interlisp programming environment

Iterative Ausdrück Iterative Ausdrück (Iterative Expressions )(Iterative Expressions )

o Bietet die Möglichkeit iterative Ausdrücke zu Bietet die Möglichkeit iterative Ausdrücke zu formulierenformulieren

z.B. : for x in L sum xz.B. : for x in L sum x

o Kennt ca. 2 dutzend OperatorenKennt ca. 2 dutzend Operatoren

o User kann selbst neue Operatoren definierenUser kann selbst neue Operatoren definieren

Page 10: The Interlisp programming environment

Programmer‘s AssistantProgrammer‘s Assistant

o Speichert alle Eingaben des Benutzer deren Speichert alle Eingaben des Benutzer deren Seiteneffekte und deren ErgebnisseSeiteneffekte und deren Ergebnisse

o Möglichkeit für Möglichkeit für REDO REDO wiederhole Operation wiederhole Operation

UNDO UNDO Hebt die Seiteneffekte der Hebt die Seiteneffekte der Operation aufOperation auf

Page 11: The Interlisp programming environment

Programmer‘s AssistantProgrammer‘s Assistant

FIX FIX Ruft den Interlisp – Editor für die Ruft den Interlisp – Editor für die

besagte Operation und führt es nach denbesagte Operation und führt es nach den

Modifikationen nochmal aus Modifikationen nochmal aus

Page 12: The Interlisp programming environment

Was Macht Interlisp einzigartig?Was Macht Interlisp einzigartig?

IntegrationIntegration : Keine Sammlung von : Keine Sammlung von unabhängigen Programmiertools sondernunabhängigen Programmiertools sondern ein “ Integrated „( integriertes ) systemein “ Integrated „( integriertes ) system

z.B . : Editor <===>DWIMz.B . : Editor <===>DWIM

Beim Eingeben in den Editor korriegiertBeim Eingeben in den Editor korriegiert DWIM falsche EingabenDWIM falsche Eingaben

Page 13: The Interlisp programming environment

Was Macht Interlisp einzigartig?Was Macht Interlisp einzigartig?

ExtensebilityExtensebility : Benutzer können das Sytem : Benutzer können das Sytem

selbst durch neue command‘s erweiternselbst durch neue command‘s erweitern

Viele Parameter und automatische Viele Parameter und automatische

Funktionen können vom Benutzer gesetztFunktionen können vom Benutzer gesetzt

werden.werden.

Page 14: The Interlisp programming environment

VorteilVorteil

DWIM , diese Integration macht Interlisp DWIM , diese Integration macht Interlisp MächtigMächtig

Die Syntax von Lisp ist leicht verständlichDie Syntax von Lisp ist leicht verständlich

Usw….Usw….

Page 15: The Interlisp programming environment

NachteileNachteile

nicht leicht überschaubare Anzahl vonnicht leicht überschaubare Anzahl von

parameternparametern

Möglich das durch Abschalten einerMöglich das durch Abschalten einer

Funktion eine andere nicht mehr richtigFunktion eine andere nicht mehr richtig

funktioniert.funktioniert.

Page 16: The Interlisp programming environment

EntwicklerEntwickler

Warren Teitelman, Larry MasinterWarren Teitelman, Larry Masinter

Erik SandewallErik Sandewall

Page 17: The Interlisp programming environment

Vielen Vielen Dank Dank für für IhreIhre AufmerksamkeitAufmerksamkeit