Lisp "List Processing". Lisp history John McCarthy developed the basics behind Lisp during the 1956 Dartmouth Summer Research Project on Artificial Intelligence.

Slides:



Advertisements
Similar presentations
C-LISP. LISP 2 Lisp was invented by John McCarthy in 1958 while he was at the Massachusetts Institute of Technology (MIT).John McCarthyMassachusetts Institute.
Advertisements

1 Scheme and Functional Programming Aaron Bloomfield CS 415 Fall 2005.
Functional Programming. Pure Functional Programming Computation is largely performed by applying functions to values. The value of an expression depends.
1 Programming Languages and Paradigms Lisp Programming.
Lisp – Introduction יעל נצר מערכות נבונות סמסטר ב' תשס"ו.
Lisp Recitation (cse471/598 Fall 2007 ) Aravind Kalavagattu.
1 Functional programming Languages And a brief introduction to Lisp and Scheme.
Introduction to Artificial Intelligence Lisp Ruth Bergman Fall 2002.
Reasons to study concepts of PL
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
Common Lisp Derek Debruin Mark Larue Vinh Doan. Problem Domains There was a need in the early 1960s to define a programming language whose computational.
ISBN Lecture 01 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Lecture 01 Topics Motivation Programming.
Programming Language Theory Leif Grönqvist The national Graduate School of Language Technology (GSLT) MSI.
Functional programming: LISP Originally developed for symbolic computing First interactive, interpreted language Dynamic typing: values have types, variables.
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
CSE S. Tanimoto Introduction 1 LISP Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that.
Dr. Muhammed Al-Mulhem ICS An Introduction to Functional Programming.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
LISP: Power and Elegance in ONE. Overview n The History of Lips n Lisp, Mathematics and Elegance n The Power of Lisp n Lisp in Commercial Use.
Lisp by Namtap Tapchareon Lisp Background  Lisp was developed by John McCarthy in  Lisp is derives from List Processing Language. 
Lisp: a history Developed by John McCarthy in the 1950’s. Developed by John McCarthy in the 1950’s. Only Fortran has higher “seniority” Only Fortran has.
Genetic Programming.
BIT Presentation 6. Contents GENERATIONS OF LANGUAGES COMPILERS AND INTERPRETERS VIRTUAL MACHINES OBJECT-ORIENTED PROGRAMMING SCRIPTING LANGUAGES.
CSE 425: Intro to Programming Languages and their Design A Few Key Ideas No particular language is a prerequisite for this course –However you should be.
Functional Programing Referencing material from Programming Language Pragmatics – Third Edition – by Michael L. Scott Andy Balaam (Youtube.com/user/ajbalaam)
Knowledge representation
CS 363 Comparative Programming Languages
The College of Saint Rose CIS 433 – Programming Languages David Goldschmidt, Ph.D. from Concepts of Programming Languages, 9th edition by Robert W. Sebesta,
LISP – Not just a Speech Impediment Jim Lowe. Brief History of LISP Initial development begins at the Dartmouth Summer Research Project in 1956 by Dr.
CSC3315 (Spring 2009)1 CSC 3315 Programming Paradigms Scheme Language Hamid Harroud School of Science and Engineering, Akhawayn University
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages.
Programming Language 1. Programming language A programming language is a machine-readable artificial language designed to express computations that can.
Lecture 5 Regular Expressions CSCI – 1900 Mathematics for Computer Science Fall 2014 Bill Pine.
Programming Domains 1.Scientific Applications Typically, scientific applications have simple data structures but require large numbers of floating-point.
Lisp Functional Language or Applicative Language –Achieves its effect by applying functions, either recursively or through composition Powerful, expressive,
TIVDM2Functional Programming Language Concepts 1 Concepts from Functional Programming Languages Peter Gorm Larsen.
Logical and Functional Programming
1-1 An Introduction to Functional Programming Sept
Scheme Profs Tim Sheard and Andrew Black CS 311 Computational Structures.
Milos Hauskrecht (PDF) Hieu D. Vu (PPT) LISP PROGARMMING LANGUAGE.
CSE 341, S. Tanimoto Lisp LISP LISP = LISt Processing Intended for processing symbolic information Implementations from noncommercial sites: GNU.
From Lambda Calculus to LISP Functional Programming Academic Year Alessandro Cimatti
History of Lisp And Functional Programming Languages Scotty Smith.
LISP LISt Processing. History & Overview b b One of the oldest high level programming languages. b b First developed in 1958 by John McCarthy. b b Later.
Ch Ch jcmt CSE 3302 Programming Languages CSE3302 Programming Languages (n-n-n-notes) Summer 2003 Dr. Carter Tiernan.
Lecture 01: Theory of Automata:2013 Asif Nawaz Theory of Automata.
History. Development Driven by Function Functions of a Programming Language –To describe computation for use by computers –To describe computation and.
Functional Programming
Zuse’s Plankalkül – 1945 Never implemented Problems Zuse Solved
Functional Programming
PROGRAMMING LANGUAGES
Modern Programming Languages Lecture 20 Fakhar Lodhi
Data Structures and Algorithms
A I (Artificial Intelligence)
CS 326 Programming Languages, Concepts and Implementation
Scheme : variant of LISP
LISP LISt Processing.
LISP LISP = LISt Processing
CS 36 – Chapter 11 Functional programming Features Practice
CSE S. Tanimoto Introduction
CSE S. Tanimoto Introduction
Lisp, Then and Now.
A programming language
CSE S. Tanimoto Introduction
L Calculus.
CSE (c) S. Tanimoto, 2002 Introducing Lisp
LISP LISt Processing.
Abstraction and Repetition
LISP LISt Processing.
Modern Programming Languages Lecture 18 Fakhar Lodhi
Presentation transcript:

Lisp "List Processing"

Lisp history John McCarthy developed the basics behind Lisp during the 1956 Dartmouth Summer Research Project on Artificial Intelligence He intended it as an algebraic LISt Processing (hence the name) language for artificial intelligence work He showed how, given a handful of simple operators and anotation for functions, you can build a whole programming language.

Design Goals Formalism for developing a theory of computation Programming language for numerical and logical problems Symbolic manipulation of expressions and sentences

Characteristics LISP was one of the earliest high-level programming languages and introduced many ideas such as garbage collection, recursive functions, symbolic expressions, and dynamic type-checking Interest in symbolic computation influenced design Use of simple machine model Attention to theoretical considerations Recursive function theory, Lambda calculus

Distinctive Characteristics Not C, C++, Java: a chance to think differently LISt Processing: the ancestor of all functional languages Lisp is good at handling lists of things, and the abstraction level is higher than C/C++ normally allows you to get to.

Relative Speeds of 5 language

Description of Lisp LISP is usually used as an interpreted language. The interpreter runs what is known as a read- evaluates-print loop.

Description of Lisp The two most important kinds of objects in LISP for you to know about are atoms and lists. Atoms are represented as sequences of characters of reasonable length. Such as :34 or join. Lists are recursively constructed from atoms Such as: (a john 34 c3po). The interpreter treats any list as containing the name of a function followed by the arguments to the function. Such as: ( ).

Defining Lisp Function Use defun to define your own functions in LISP. (defun ) Example: >(defun square (x) (* x x)) SQUARE >(square 2) 4

Example Code reverse : Format: (reverse ) Reverse returns a list that contains all the elements of in reversed order. Example: > (reverse '(picard riker worf crusher)) (CRUSHER WORF RIKER PICARD) > (reverse (reverse '(picard riker worf crusher))) (PICARD RIKER WORF CRUSHER)

Resources