Lisp - BigBozoid
Download
Report
Transcript Lisp - BigBozoid
Artificial Intelligence
Dartmouth College
AI conference at Dartmouth
College, 1956: McCarthy,
Minsky, Newell, Simon
Newell, Shaw and Simon
demonstrated Logic Theorist, a reasoning
program written in IPL (Information
Processing Language)
IPL had support for linked lists, and
caught McCarthy’s attention
Early AI Language Efforts
He wanted a language for
AI projects, but not
IPL: too low-level and
machine-specific
An IBM group (consulting
McCarthy) developed
FLPL: Fortran List Processing
Language
John McCarthy
McCarthy’s wish list, developed while writing
AI programs (chess and differential calculus)
• Conditional expressions
• Recursion
• Higher-order functions (like ML’s map)
• Garbage collection
FLPL was not the answer for McCarthy’s group
at MIT in 1958…
A Lisp program is a list representing an AST:
(+ a (* b c))
The plan was to use some Fortran-like
notation
But McCarthy wrote a paper showing a simple
Lisp interpreter in Lisp: a function called eval
To avoid syntax issues, he used the list-AST
form, both for eval’s input and for eval itself
This eval, hand-translated into assembly
language, became the first implementation of
Lisp
Lisp’s Unusual Syntax
Lisp’s Unusual Syntax
The group never gave up the idea of
compiling from some Fortran-like syntax
But they never did it either
Later, people tried to compile Lisp from a
Fortran- or Algol-like syntax
None of these efforts were very popular
There are advantages to programs and
data using the same syntax
Lisp Evolution
Quickly became, and remains, the
most popular language for AI
applications
Before 1980: many dialects in use:
• Each AI research group had its own dialect
• In the 1970’s, a number of Lisp machines
were developed, each with its own dialect
Today: some standardization:
• Common Lisp: a large language and API
• Scheme: a smaller and simpler dialect
Lisp Influence
2nd oldest general-purpose
programming language still in use
Some ideas, like the conditional
expression and recursion, were
adopted by Algol and later by many
other imperative languages
Lisp Influence
The function-oriented approach
influenced modern functional
languages like ML
Garbage collection is increasingly
common in many different language
families
Lots of Irritating Superfluous Parentheses
Lisp programmers know the value of
everything and the cost of nothing
Alan Perlis
Lisp is a programmable programming
language.
John Foderaro
Lisp has jokingly been called "the
most intelligent way to misuse a
computer".
Edsger Dijkstra
ARPA 1962
Advanced Research Projects Agency
Formed for research not
just military applications
“Lick” First director
He called it the:
Information Processing
Techniques Office (IPTO)
JCR Licklider
Donald Davies
British inventor of
packet switching
National Physical Laboratory
1924-2000
Lick’s Intergalactic Network
1965
With ARPA funding, Larry Roberts and
Thomas Marill created first wide-area
network connection: MIT to Santa
Monica
Dedicated telephone line with acoustic
couplers
Telephone lines work for data, but are
Inefficient
Wasteful of bandwidth
Expensive
As Kleinrock predicts, packet switching
offers the most promising model for
communication between computers.
Joss 1965
Johnniac Open Shop System
The ARPA-funded at the
RAND Corporation
Computational problem solving at a number of
remote electric typewriter consoles
IBM electric typewriters modified with small
boxes with indicator lights and activating
switches
User input appeared in green, and JOSS
responded with output in black.
Paul Baran
Envisioned a communications
network that would survive a
major enemy attacked
October 29, 1969
first host-to-host connection,
from UCLA to SRI
first “Log-In” crashed the IMPs
(Interface Message Processors)
but the next “Log-In” worked!
1970
Nodes are added to the ARPANET at the
rate of one per month
1971
Metcalfe’s Law
“The value of a
network increases
exponentially with
the number of
nodes.” Robert Metcalfe
Ethernet
Invented 1973 at Xerox–PARC
by Robert Metcalfe and David Boggs
Got the idea of packets from the
ALOHAnet
packet maximum 1000 bits long
recipients address attached to the
head of each packet
computers tuned to UHF frequency,
listening for packets addressed to it
Industry Standard
Metcalfe left Xerox in 1979 to promote
the use of personal computers and Local
Area Networks (LANs).
He convinced Digital Equipment, Intel,
and Xerox Corporations to work
together and promote ethernet as a
standard.
Today, ethernet is the most widely
installed LAN protocol.
Ethernet is no longer limited to LANs.
Arpanet
Successive levels of complexity
1973
1977
Snowball effect
starts
Computer magazine
September 1979
USENET - a series of shell scripts
by Steve Bellovin at UNC to
communicate with Duke
Newsgroups start with a name
that gives an idea of its content
USENET - early example of a
client server, users dial in to a
server with requests to forward
certain newsgroup postings.
The server then ‘serves’ the
request.
Arpanet
Successive levels of complexity
1980
1984
1983
ARPANET was
standardized
on the TCP/IP
protocols adopted by
the US Department of Defense.
The Defense Communications Agency
split the network into a public “ARPANET”
and a classified “MILNET”
Only 45 hosts remained on the ARPANET
1983
Numbering the Internet hosts and
keeping track of the host names fails
to keep up with the growth of the
Internet.
Development of the Domain Name
System - [email protected]
Timeline
Tim Berners-Lee
1989
Number of hosts
Jan/ 80,000
July/ 130,000
Nov/ 160,000
Australia, Germany,
Israel, Italy, Japan,
Mexico, Netherlands,
New Zealand and the
United Kingdom added
Tim Berners-Lee
Devised the URL (uniform
resource locator)
Everyday, garden
variety genius
Created Hypertext Transfer
Protocol
(HTTP)
Defined HTML
1990
Gopher – University of Minnesota
Early Browsers Lynx & Viola
1993
1995
Mosaic Netscape Mozilla
•Ease of Hypercard
•Full HTML capacity
of WWW