Common Lisp! John Paxton Montana State University Summer 2003.

Slides:



Advertisements
Similar presentations
C language was developed in early 1970s by Dennis Ritchie at Bell Laboratories to implement the UNIX operating system on the PDP-11 manufactured by DEC.
Advertisements

Chapt.2 Machine Architecture Impact of languages –Support – faster, more secure Primitive Operations –e.g. nested subroutine calls »Subroutines implemented.
compilers and interpreters
1 C++ Syntax and Semantics The Development Process.
Peter Seibel Practical Common Lisp Peter Seibel
Chapter FourModern Programming Languages1 Language Systems.
The Functions and Purposes of Translators Code Generation (Intermediate Code, Optimisation, Final Code), Linkers & Loaders.
Language Systems Chapter FourModern Programming Languages, 2nd ed.1.
The Analytical Engine Module 6 Program Translation.
Java for High Performance Computing Jordi Garcia Almiñana 14 de Octubre de 1998 de la era post-internet.
TES3111 October 2001 Artificial Intelligence LISP.
Lecture 1: Overview of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++ Designed.
Peter Juszczyk CS 492/493 - ISGS. // Is this C# or Java? class TestApp { static void Main() { int counter = 0; counter++; } } The answer is C# - In C#
Presentation topic : LISP Amir Shahzad MCS 3 MCC
JAVA v.s. C++ Programming Language Comparison By LI LU SAMMY CHU By LI LU SAMMY CHU.
C++ for Java Programmers Chapter 1 Basic Philosophical Differences.
Computer Science 210 Computer Organization Introduction to C.
Advanced Database CS-426 Week 2 – Logic Query Languages, Object Model.
Chapter 17 Programming Tools The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander.
Language Systems Chapter FourModern Programming Languages 1.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
C++ Programming. Table of Contents History What is C++? Development of C++ Standardized C++ What are the features of C++? What is Object Orientation?
CIS Computer Programming Logic
CS 363 Comparative Programming Languages
Java Introduction Lecture 1. Java Powerful, object-oriented language Free SDK and many resources at
Chapter 1 Introduction. Goal to learn about computers and programming to compile and run your first Java program to recognize compile-time and run-time.
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.
Sather vs Java §Brian Oh §Ann Win. l Introduction (of Sather) l History (of Sather) l Comparison between Java and Sather l Sample - “Hello World” l Future.
Sigma Lisp Σλ Sam Davis Nick Alexander. What is Sigma Lisp? ● New dialect of Lisp ● Designed to be as expressive as possible.
CS 355 – PROGRAMMING LANGUAGES Dr. X. Common LISP A combination of many of the features of the popular dialects of LISP around in the early 1980s A large.
University of Houston-Clear Lake Proprietary© 1997 Evolution of Programming Languages Basic cycle of improvement –Experience software difficulties –Theory.
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages.
Introduction to Scheme Lectures on The Scheme Programming Language, 2 nd Ed. R. Kent Dybvig.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
Lecture :2 1.  DEFENTION : Java is a programming language expressly designed for use in the distributed environment of the Internet. It was designed.
CSC 230: C and Software Tools Rudra Dutta Computer Science Department Course Introduction.
Applied Computing Technology Laboratory QuickStart C# Learning to Program in C# Amy Roberge & John Linehan November 7, 2005.
SCHEME Scheme is elegant, clear, small, and powerful programming language. It is a dialect of LISP and can be classified as a semi-functional programming.
C463 / B551 Artificial Intelligence Dana Vrajitoru Python.
LANGUAGE SYSTEMS Chapter Four Modern Programming Languages 1.
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
I Power Higher Computing Software Development Development Languages and Environments.
Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java.
CS105 Computer Programming PYTHON (based on CS 11 Python track: lecture 1, CALTECH)
12/8/2015\course\cpeg323-07Fs\Topic2b-323.ppt1 Topic 2b High-Level languages and System Software (Languages) Introduction to Computer Systems Engineering.
CS 105: LISP GRG 424 MW 1:00-2:00pm About Me Jacob Schrum: call me Jacob BS in Computer Science, Math and German at Southwestern University Currently.
Scheme Profs Tim Sheard and Andrew Black CS 311 Computational Structures.
Programming Languages and Design Lecture 6 Names, Scopes and Binding Instructor: Li Ma Department of Computer Science Texas Southern University, Houston.
Developed at Sun Microsystems in 1991 James Gosling, initially named “OAK” Formally announced java in 1995 Object oriented and cant write procedural.
Getting Started With Java September 22, Java Bytecode  Bytecode : is a highly optimized set of instructions designed to be executed by the Java.
INTRODUCTION CHAPTER #1 Visual Basic.NET. VB.Net General features It is an object oriented language  In the past VB had objects but focus was not placed.
Ada, Scheme, R Emory Wingard. Ada History Department of Defense in search of high level language around Requirements drafted for the language.
Comparative Programming Languages Functional programming with Lisp/Scheme.
Chapter 1: Preliminaries Lecture # 2. Chapter 1: Preliminaries Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation.
1 Programming and problem solving in C, Maxima, and Excel.
Quiz 1 A sample quiz 1 is linked to the grading page on the course web site. Everything up to and including this Friday’s lecture except that conditionals.
Chapter 1 Introduction Samuel College of Computer Science & Technology Harbin Engineering University.
Functional Programming
Basic Concepts: computer, program, programming …
Zuse’s Plankalkül – 1945 Never implemented Problems Zuse Solved
Compiler Construction (CS-636)
C Language VIVA Questions with Answers
Python is a general-purpose interpreted, interactive, object-oriented, and high-level programming language. It was created by Guido van Rossum during.
C Basics.
JavaScript an introduction.
(Computer fundamental Lab)
CSE (c) S. Tanimoto, 2002 Introducing Lisp
강의 내용 및 방법 접근방법 리포트 시험 Lambda Calculus, Proof of Correctness
Python Basics. Topics Features How does Python work Basic Features I/O in Python Operators Control Statements Function/Scope of variables OOP Concepts.
Presentation transcript:

Common Lisp! John Paxton Montana State University Summer 2003

Montana State University 10,689 Undergraduate Students 1,234 Graduate Students 1 Year Residence Expenses: $12,127 1 Year Out-of-State Expenses: $19,764 Founded in 1893 Operating Budget: $84,500,000. Faculty: 982

Montana State University

More Information Common Lisp the Language, 2 nd Edition Guy Steele Digital Press (1029 pages)

CLISP

Propaganda Common Lisp is a general-purpose programming language and an AI language interactive a Lisp for professional use

Propaganda Common Lisp programs are easy to test (interactive) easy to maintain (depending on programming style) portable across hardware/OS platforms and implementations (there is a standard for the language and the library functions)

Propaganda Our Common Lisp CLISP needs only 2 MB of memory implements most of the ANSI standard, as well as many extensions can call your preferred editor is freely distributable

Propaganda Common Lisp provides clear syntax, carefully designed semantics several data types: numbers, strings, arrays, lists, characters, symbols, structures, streams etc. runtime typing: the programmer need not bother about type declarations, but he gets notified on type violations. many generic functions: 88 arithmetic functions for all kinds of numbers (integers, ratios, floating point numbers, complex numbers), 44 search/filter/sort functions for lists, arrays and strings

Propaganda Common Lisp provides automatic memory management (garbage collection) packaging of programs into modules an object system, generic functions with powerful method combination macros: every programmer can make his own language extensions

Propaganda Our Common Lisp CLISP provides an interpreter a compiler which makes execution of programs 5 times faster a source-level debugger which allows stepping through interpreted code, form by form all data types with unlimited size (the size need never be declared, the size of lists and arrays may be changed dynamically) integers of arbitrary length unlimited floating point number precision 800+ library functions and macros, 600+ of them written in C

What is Scheme? Developed by Guy Steele and Gerald Sussman. Dialect of Lisp. Meant to have exceptionally clear and simple semantics.

Scheme Example (define map-streams (lambda (f s) (cons (f (head s)) (delay (map-streams f (tail s)))) )