SlideShare a Scribd company logo
Introduction to LISP
OverviewAGENDAHistoryIntroductionLisp FeaturesSyntaxComparison structuresLambda expressionsConses and ListsList processing proceduresSummaryLisp applications
Lisp was invented by John McCarthy in 1958 while he was at the MIT.McCarthy published its design in a paper in Communications of the ACM in 1960.Lisp was first implemented by Steve Russell on an IBM 704 computer.Connection to AI:Lisp was closely connected to AI research communities, especially on PDP-10 systems.Lisp was used as the implementation of the programming language Micro Planner  which was used in the famous AI system SHRUDLU.Over its fifty-year history, lisp has spawned many variations on the core theme of an S-expression language. Lisp history
A Lisp machine at the MIT museum
Introduction to Lisp(List processing)Lisp is second oldest  high-level programming languages with a long history and a distinctive, fully parenthesized syntax.Lisp is a Tool to solve some of the most difficult problems in the world of computing.It is an example of elegant, minimalist language.Lisp is one of the most popular programming languages that is used for Artificial intelligence.
Lisp featuresBuilt in support for Lists.Atomic storage management.Dynamic TypingUniform syntax.Interactive environment.ExtensibilityStandard macros.Special forms(loop, do, dotimes..)
Syntax (Data structures)Lists are surrounded by parenthesis.Ex: (),(()),((a,b,c)),((1,2),3,4) are all Lists.Atoms are string of characters beginning with letter, digit or special characters other than left “(“ and right “)” Ex: (a b c d) is a list of four elements(atoms) a,b,c,d      Peace       Of       Mind        6678Prefix notation is followed in Lisp.Operators first, followed by the arguments.Ex: (+ 4 5)  adds 4 to 5      (/ 12 6)2
Function DefinitionList represents function calls as well as basic data structures.(factorial 4)12(+4 2)6Definition of a function(defun <f-name><parameter-list><body>)Ex: (defun square(X)              (*XX))          SQUARE>(square2)4>(square(square 2))16
Function inside functionEx: (+3(40)6)49      (+3(+3 3)4)13Addition, subtraction and multiplication process2*3366
Comparing functionsThe comparison symbols are( => ,< ,> ,=<, >= ,<= )These function return either True(T) or Nil.Ex: (= 4 4)T        (< 4 4)NIL        (> 5 1)T        (>= 6 3)T        (<= 4 3)NIL
Other comparison functionUn-equality function( \=)Returns TRUE if values are not equal else NIL if values are equal.Division function(/)Ex: (/4 2) 2Max: It takes the maximum value of some numbersEx: (Max -3 3 40 150 -100)150Min: It takes the minimum value of some numbersEx: (Min 3 4 10 -5)-5
Assigning functions:Syntax: setq( argument)Ex: (setq a 3)3      (* a 4)12Explicit evaluation call;(eval a)3Note: A quoted value is always kept untouched.(setq b ‘(+ a 4))(+ a 4)
4 equality predicates: (=, equal, eq, eql) for numerical values only.Ex:(= 2 4/2) T(setf a (1 2)) (1 2)(setf b (1 2)) (1 2)(equal a b)T(eql 3 9/3)T
Nil represents false and an empty list.Ex:(null nil)T(null())T(null ‘(a b))NIL(not ‘(a b))NIL
Lambda expressionsLambda operator is used to bind variables to values which are then evaluated within an expression.Arguments to lambda are list of arguments, and the expression or expressions to which the function evaluates. (lambda (arg) (arg+1)) evaluates to the function that, when applied takes one argument , binds it to arg and returns the number one greater then that argument.Ex: (lambda (arg) (arg+1) 4)5
Conses and listsA lisp list is a singly linked list, Each cell of this list is called a Cons, is composed of two pointers, called the car and cdr.If the given cons is taken to be the head of the linked list, then its car points to the first element of the list, and its cdr points to the rest of the List.A variable which refers to the list is simply a pointer to the first cons of the list.Parenthesized  S-expressions represent Linked list structure.
List-processing proceduresList can be directly created with the list procedure, which takes any number of arguments and returns the list of these arguments.Ex: (List 1 2 ‘ a 3) ( 1 2 a 3)     (List 1 ‘ (2 3) 4)(1 (2 3) 4)For the linked lists cons procedure can be used to add an element to the front of the list.Ex: (cons 1 ‘ (2 3))(1 2 3)Append procedure append two or more lists to one another.Ex: (append ‘ (1 2) ‘ (3 4))(1 2 3 4)
Basic lisp examplesBasic hello world program(print “Hello world”)To evaluate factorial on a number(n)(defun factorial (n)         (if (<= n 1)             1            (* n (factorial(- n 1)))))//iterative version  which uses common Lisp’s Loop Macro//(defun factorial (n)         (loop for I from 1 to n            for fac=1 then (* fac i)            finally (return fac)))//using recursive function//(defun –reverse (list)           (let  ((return –value  ‘()))              (dolist  (e list) (push e return-value))                 return-value))
Lisp SummarySimple syntax.  so, its very easy to parse.Programming in Lisp is distinguished from other programming languages due to its unique syntax and development mode.The interchangeability of code and data also gives Lisp instantly recognizable syntax. All lisp program code is written as S-expressions , or parenthesized lists.
Applications of Lisp programmingCommon Lisp is used to develop research applications(often in Artificial Intelligence)For rapid development of prototypesLisp language is often used in interactive command line, which may be combined with an IDE.Common Lisp is used in many commercial applications, Including the Yahoo! Store Web-commerce site.Other visible applications people have developed using Lisp are:Emacs
G2

More Related Content

What's hot (20)

LISP: Data types in lisp
LISP: Data types in lispLISP: Data types in lisp
LISP: Data types in lisp
DataminingTools Inc
 
Introduction to Programming in LISP
Introduction to Programming in LISPIntroduction to Programming in LISP
Introduction to Programming in LISP
Knoldus Inc.
 
Lisp
LispLisp
Lisp
sonukumar142
 
Prolog & lisp
Prolog & lispProlog & lisp
Prolog & lisp
Ismail El Gayar
 
Gentle Introduction To Lisp
Gentle Introduction To LispGentle Introduction To Lisp
Gentle Introduction To Lisp
Damien Garaud
 
Lisp
LispLisp
Lisp
Aniruddha Chakrabarti
 
Lisp Programming Languge
Lisp Programming LangugeLisp Programming Languge
Lisp Programming Languge
Yaser Jaradeh
 
Learn a language : LISP
Learn a language : LISPLearn a language : LISP
Learn a language : LISP
Devnology
 
Basic lisp
Basic lispBasic lisp
Basic lisp
Arvind sahu
 
Lecture11 syntax analysis_7
Lecture11 syntax analysis_7Lecture11 syntax analysis_7
Lecture11 syntax analysis_7
Mahesh Kumar Chelimilla
 
Functional Programming Concepts for Imperative Programmers
Functional Programming Concepts for Imperative ProgrammersFunctional Programming Concepts for Imperative Programmers
Functional Programming Concepts for Imperative Programmers
Chris
 
Compiler Design LR parsing SLR ,LALR CLR
Compiler Design LR parsing SLR ,LALR CLRCompiler Design LR parsing SLR ,LALR CLR
Compiler Design LR parsing SLR ,LALR CLR
Riazul Islam
 
Bottom - Up Parsing
Bottom - Up ParsingBottom - Up Parsing
Bottom - Up Parsing
kunj desai
 
Scheme language
Scheme languageScheme language
Scheme language
JITENDRA LENKA
 
LR(1) and SLR(1) parsing
LR(1) and SLR(1) parsingLR(1) and SLR(1) parsing
LR(1) and SLR(1) parsing
R Islam
 
COMPILER DESIGN- Syntax Analysis
COMPILER DESIGN- Syntax AnalysisCOMPILER DESIGN- Syntax Analysis
COMPILER DESIGN- Syntax Analysis
Jyothishmathi Institute of Technology and Science Karimnagar
 
Chapter 6 intermediate code generation
Chapter 6   intermediate code generationChapter 6   intermediate code generation
Chapter 6 intermediate code generation
Vipul Naik
 
Scheme Programming Language
Scheme Programming LanguageScheme Programming Language
Scheme Programming Language
Reham AlBlehid
 
Optimization of dfa
Optimization of dfaOptimization of dfa
Optimization of dfa
Kiran Acharya
 
Back patching
Back patchingBack patching
Back patching
santhiya thavanthi
 

Viewers also liked (20)

Pitching Lovecraft
Pitching LovecraftPitching Lovecraft
Pitching Lovecraft
miker71
 
Beautiful Picture
Beautiful PictureBeautiful Picture
Beautiful Picture
sam ran
 
Petitions stellungnahme -beilage_2_komitee
Petitions stellungnahme -beilage_2_komiteePetitions stellungnahme -beilage_2_komitee
Petitions stellungnahme -beilage_2_komitee
Chemtrails Spoter
 
Escribir en la escuela
Escribir en la escuelaEscribir en la escuela
Escribir en la escuela
María Eugenia Gallo Arbeláez
 
RIA - RDA - ROA
RIA - RDA - ROARIA - RDA - ROA
RIA - RDA - ROA
Didier Girard
 
A3 electrical AUDI A3 1997 2000 1.8 20V 4ADR
A3 electrical AUDI A3  1997 2000 1.8 20V 4ADRA3 electrical AUDI A3  1997 2000 1.8 20V 4ADR
A3 electrical AUDI A3 1997 2000 1.8 20V 4ADR
Gherghescu Gabriel
 
M-CARE newsletter 6
M-CARE newsletter 6M-CARE newsletter 6
M-CARE newsletter 6
Karel Van Isacker
 
MMV Programbeskrivelse 2016-1 SDU
MMV Programbeskrivelse 2016-1 SDUMMV Programbeskrivelse 2016-1 SDU
MMV Programbeskrivelse 2016-1 SDU
Jens Eybye
 
Ana maria jaimes moreno
Ana maria jaimes morenoAna maria jaimes moreno
Ana maria jaimes moreno
anita9m
 
Entrevista a Clare Allcard a La Vanguardia (30 desembre 2013)
Entrevista a Clare Allcard a La Vanguardia (30 desembre 2013)Entrevista a Clare Allcard a La Vanguardia (30 desembre 2013)
Entrevista a Clare Allcard a La Vanguardia (30 desembre 2013)
quetxCB
 
Guia de aprendizaje diagnostico
Guia de aprendizaje  diagnosticoGuia de aprendizaje  diagnostico
Guia de aprendizaje diagnostico
samy meza alvarez
 
Для родителей
Для родителейДля родителей
Для родителей
Татьяна Левчук
 
Glói geimvera
Glói geimveraGlói geimvera
Glói geimvera
nemandi
 
Todo esta bien
Todo esta bienTodo esta bien
Todo esta bien
zkaterin
 
Jornada VII - Informática -CRUV
Jornada VII - Informática -CRUVJornada VII - Informática -CRUV
Jornada VII - Informática -CRUV
Diego
 
Tecnologia
TecnologiaTecnologia
Tecnologia
valentinapatriciatamayo
 
Blogs
BlogsBlogs
Blogs
Jota
 
Boletim 145
Boletim 145   Boletim 145
Boletim 145
Igreja Presbiteriana Zona Sul
 
Bearing witness to yahapalanaya
Bearing witness to yahapalanayaBearing witness to yahapalanaya
Bearing witness to yahapalanaya
Sanjana Hattotuwa
 
Humor y valor (en situaciones de discapacidad).
Humor y valor (en situaciones de discapacidad).Humor y valor (en situaciones de discapacidad).
Humor y valor (en situaciones de discapacidad).
José María
 
Pitching Lovecraft
Pitching LovecraftPitching Lovecraft
Pitching Lovecraft
miker71
 
Beautiful Picture
Beautiful PictureBeautiful Picture
Beautiful Picture
sam ran
 
Petitions stellungnahme -beilage_2_komitee
Petitions stellungnahme -beilage_2_komiteePetitions stellungnahme -beilage_2_komitee
Petitions stellungnahme -beilage_2_komitee
Chemtrails Spoter
 
A3 electrical AUDI A3 1997 2000 1.8 20V 4ADR
A3 electrical AUDI A3  1997 2000 1.8 20V 4ADRA3 electrical AUDI A3  1997 2000 1.8 20V 4ADR
A3 electrical AUDI A3 1997 2000 1.8 20V 4ADR
Gherghescu Gabriel
 
MMV Programbeskrivelse 2016-1 SDU
MMV Programbeskrivelse 2016-1 SDUMMV Programbeskrivelse 2016-1 SDU
MMV Programbeskrivelse 2016-1 SDU
Jens Eybye
 
Ana maria jaimes moreno
Ana maria jaimes morenoAna maria jaimes moreno
Ana maria jaimes moreno
anita9m
 
Entrevista a Clare Allcard a La Vanguardia (30 desembre 2013)
Entrevista a Clare Allcard a La Vanguardia (30 desembre 2013)Entrevista a Clare Allcard a La Vanguardia (30 desembre 2013)
Entrevista a Clare Allcard a La Vanguardia (30 desembre 2013)
quetxCB
 
Guia de aprendizaje diagnostico
Guia de aprendizaje  diagnosticoGuia de aprendizaje  diagnostico
Guia de aprendizaje diagnostico
samy meza alvarez
 
Glói geimvera
Glói geimveraGlói geimvera
Glói geimvera
nemandi
 
Todo esta bien
Todo esta bienTodo esta bien
Todo esta bien
zkaterin
 
Jornada VII - Informática -CRUV
Jornada VII - Informática -CRUVJornada VII - Informática -CRUV
Jornada VII - Informática -CRUV
Diego
 
Blogs
BlogsBlogs
Blogs
Jota
 
Bearing witness to yahapalanaya
Bearing witness to yahapalanayaBearing witness to yahapalanaya
Bearing witness to yahapalanaya
Sanjana Hattotuwa
 
Humor y valor (en situaciones de discapacidad).
Humor y valor (en situaciones de discapacidad).Humor y valor (en situaciones de discapacidad).
Humor y valor (en situaciones de discapacidad).
José María
 
Ad

Similar to LISP: Introduction To Lisp (20)

AI UNIT-4 Final (2).pptx
AI UNIT-4 Final (2).pptxAI UNIT-4 Final (2).pptx
AI UNIT-4 Final (2).pptx
prakashvs7
 
Lisp and scheme i
Lisp and scheme iLisp and scheme i
Lisp and scheme i
Luis Goldster
 
Report about the LISP Programming Language
Report about the LISP Programming LanguageReport about the LISP Programming Language
Report about the LISP Programming Language
maldosmelandrew
 
15 functional programming
15 functional programming15 functional programming
15 functional programming
jigeno
 
15 functional programming
15 functional programming15 functional programming
15 functional programming
jigeno
 
Basic and logical implementation of r language
Basic and logical implementation of r language Basic and logical implementation of r language
Basic and logical implementation of r language
Md. Mahedi Mahfuj
 
Cs6660 compiler design may june 2016 Answer Key
Cs6660 compiler design may june 2016 Answer KeyCs6660 compiler design may june 2016 Answer Key
Cs6660 compiler design may june 2016 Answer Key
appasami
 
Lecture 2 lisp-Overview
Lecture 2 lisp-OverviewLecture 2 lisp-Overview
Lecture 2 lisp-Overview
Student at University Of Malakand, Pakistan
 
Functional Programming Languages slidesslies.ppt
Functional Programming Languages slidesslies.pptFunctional Programming Languages slidesslies.ppt
Functional Programming Languages slidesslies.ppt
BikalAdhikari4
 
Morel, a data-parallel programming language
Morel, a data-parallel programming languageMorel, a data-parallel programming language
Morel, a data-parallel programming language
Julian Hyde
 
Real Time Big Data Management
Real Time Big Data ManagementReal Time Big Data Management
Real Time Big Data Management
Albert Bifet
 
Mastering C# Lambda Expressions: A Complete Guide
Mastering C# Lambda Expressions: A Complete GuideMastering C# Lambda Expressions: A Complete Guide
Mastering C# Lambda Expressions: A Complete Guide
LetsUpdateSkills
 
Python Basics
Python BasicsPython Basics
Python Basics
tusharpanda88
 
R Programming Language
R Programming LanguageR Programming Language
R Programming Language
NareshKarela1
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
Angelo Corsaro
 
Special topics in finance lecture 2
Special topics in finance   lecture 2Special topics in finance   lecture 2
Special topics in finance lecture 2
Dr. Muhammad Ali Tirmizi., Ph.D.
 
R basics for MBA Students[1].pptx
R basics for MBA Students[1].pptxR basics for MBA Students[1].pptx
R basics for MBA Students[1].pptx
rajalakshmi5921
 
CSC8503 Principles of Programming Languages Semester 1, 2015.docx
CSC8503 Principles of Programming Languages Semester 1, 2015.docxCSC8503 Principles of Programming Languages Semester 1, 2015.docx
CSC8503 Principles of Programming Languages Semester 1, 2015.docx
faithxdunce63732
 
Ch-8.pdf
Ch-8.pdfCh-8.pdf
Ch-8.pdf
R.K.College of engg & Tech
 
Morel, a Functional Query Language
Morel, a Functional Query LanguageMorel, a Functional Query Language
Morel, a Functional Query Language
Julian Hyde
 
AI UNIT-4 Final (2).pptx
AI UNIT-4 Final (2).pptxAI UNIT-4 Final (2).pptx
AI UNIT-4 Final (2).pptx
prakashvs7
 
Report about the LISP Programming Language
Report about the LISP Programming LanguageReport about the LISP Programming Language
Report about the LISP Programming Language
maldosmelandrew
 
15 functional programming
15 functional programming15 functional programming
15 functional programming
jigeno
 
15 functional programming
15 functional programming15 functional programming
15 functional programming
jigeno
 
Basic and logical implementation of r language
Basic and logical implementation of r language Basic and logical implementation of r language
Basic and logical implementation of r language
Md. Mahedi Mahfuj
 
Cs6660 compiler design may june 2016 Answer Key
Cs6660 compiler design may june 2016 Answer KeyCs6660 compiler design may june 2016 Answer Key
Cs6660 compiler design may june 2016 Answer Key
appasami
 
Functional Programming Languages slidesslies.ppt
Functional Programming Languages slidesslies.pptFunctional Programming Languages slidesslies.ppt
Functional Programming Languages slidesslies.ppt
BikalAdhikari4
 
Morel, a data-parallel programming language
Morel, a data-parallel programming languageMorel, a data-parallel programming language
Morel, a data-parallel programming language
Julian Hyde
 
Real Time Big Data Management
Real Time Big Data ManagementReal Time Big Data Management
Real Time Big Data Management
Albert Bifet
 
Mastering C# Lambda Expressions: A Complete Guide
Mastering C# Lambda Expressions: A Complete GuideMastering C# Lambda Expressions: A Complete Guide
Mastering C# Lambda Expressions: A Complete Guide
LetsUpdateSkills
 
R Programming Language
R Programming LanguageR Programming Language
R Programming Language
NareshKarela1
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
Angelo Corsaro
 
R basics for MBA Students[1].pptx
R basics for MBA Students[1].pptxR basics for MBA Students[1].pptx
R basics for MBA Students[1].pptx
rajalakshmi5921
 
CSC8503 Principles of Programming Languages Semester 1, 2015.docx
CSC8503 Principles of Programming Languages Semester 1, 2015.docxCSC8503 Principles of Programming Languages Semester 1, 2015.docx
CSC8503 Principles of Programming Languages Semester 1, 2015.docx
faithxdunce63732
 
Morel, a Functional Query Language
Morel, a Functional Query LanguageMorel, a Functional Query Language
Morel, a Functional Query Language
Julian Hyde
 
Ad

More from LISP Content (13)

LISP: Control Structures In Lisp
LISP: Control Structures In LispLISP: Control Structures In Lisp
LISP: Control Structures In Lisp
LISP Content
 
LISP:Declarations In Lisp
LISP:Declarations In LispLISP:Declarations In Lisp
LISP:Declarations In Lisp
LISP Content
 
LISP: Errors In Lisp
LISP: Errors In LispLISP: Errors In Lisp
LISP: Errors In Lisp
LISP Content
 
LISP: Input And Output
LISP: Input And OutputLISP: Input And Output
LISP: Input And Output
LISP Content
 
LISP: Object Sytstem Lisp
LISP: Object Sytstem LispLISP: Object Sytstem Lisp
LISP: Object Sytstem Lisp
LISP Content
 
LISP: Loops In Lisp
LISP: Loops In LispLISP: Loops In Lisp
LISP: Loops In Lisp
LISP Content
 
LISP: Type specifiers in lisp
LISP: Type specifiers in lispLISP: Type specifiers in lisp
LISP: Type specifiers in lisp
LISP Content
 
LISP: Symbols and packages in lisp
LISP: Symbols and packages in lispLISP: Symbols and packages in lisp
LISP: Symbols and packages in lisp
LISP Content
 
LISP: Scope and extent in lisp
LISP: Scope and extent in lispLISP: Scope and extent in lisp
LISP: Scope and extent in lisp
LISP Content
 
LISP: Program structure in lisp
LISP: Program structure in lispLISP: Program structure in lisp
LISP: Program structure in lisp
LISP Content
 
LISP: Predicates in lisp
LISP: Predicates in lispLISP: Predicates in lisp
LISP: Predicates in lisp
LISP Content
 
LISP: Macros in lisp
LISP: Macros in lispLISP: Macros in lisp
LISP: Macros in lisp
LISP Content
 
LISP: Data types in lisp
LISP: Data types in lispLISP: Data types in lisp
LISP: Data types in lisp
LISP Content
 
LISP: Control Structures In Lisp
LISP: Control Structures In LispLISP: Control Structures In Lisp
LISP: Control Structures In Lisp
LISP Content
 
LISP:Declarations In Lisp
LISP:Declarations In LispLISP:Declarations In Lisp
LISP:Declarations In Lisp
LISP Content
 
LISP: Errors In Lisp
LISP: Errors In LispLISP: Errors In Lisp
LISP: Errors In Lisp
LISP Content
 
LISP: Input And Output
LISP: Input And OutputLISP: Input And Output
LISP: Input And Output
LISP Content
 
LISP: Object Sytstem Lisp
LISP: Object Sytstem LispLISP: Object Sytstem Lisp
LISP: Object Sytstem Lisp
LISP Content
 
LISP: Loops In Lisp
LISP: Loops In LispLISP: Loops In Lisp
LISP: Loops In Lisp
LISP Content
 
LISP: Type specifiers in lisp
LISP: Type specifiers in lispLISP: Type specifiers in lisp
LISP: Type specifiers in lisp
LISP Content
 
LISP: Symbols and packages in lisp
LISP: Symbols and packages in lispLISP: Symbols and packages in lisp
LISP: Symbols and packages in lisp
LISP Content
 
LISP: Scope and extent in lisp
LISP: Scope and extent in lispLISP: Scope and extent in lisp
LISP: Scope and extent in lisp
LISP Content
 
LISP: Program structure in lisp
LISP: Program structure in lispLISP: Program structure in lisp
LISP: Program structure in lisp
LISP Content
 
LISP: Predicates in lisp
LISP: Predicates in lispLISP: Predicates in lisp
LISP: Predicates in lisp
LISP Content
 
LISP: Macros in lisp
LISP: Macros in lispLISP: Macros in lisp
LISP: Macros in lisp
LISP Content
 
LISP: Data types in lisp
LISP: Data types in lispLISP: Data types in lisp
LISP: Data types in lisp
LISP Content
 

Recently uploaded (20)

Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.
hok12341073
 
Secure Access with Azure Active Directory
Secure Access with Azure Active DirectorySecure Access with Azure Active Directory
Secure Access with Azure Active Directory
VICTOR MAESTRE RAMIREZ
 
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMEstablish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Anchore
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdfCrypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
Oracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization ProgramOracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization Program
VICTOR MAESTRE RAMIREZ
 
Providing an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME FlowProviding an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME Flow
Safe Software
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
PyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent IntegrationPyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent Integration
barqawicloud
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven InfrastructureNo-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
Safe Software
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data ResilienceFloods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Safe Software
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FMEEnabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.Introduction to Internet of things .ppt.
Introduction to Internet of things .ppt.
hok12341073
 
Secure Access with Azure Active Directory
Secure Access with Azure Active DirectorySecure Access with Azure Active Directory
Secure Access with Azure Active Directory
VICTOR MAESTRE RAMIREZ
 
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMEstablish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Anchore
 
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdfCrypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
 
Oracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization ProgramOracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization Program
VICTOR MAESTRE RAMIREZ
 
Providing an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME FlowProviding an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME Flow
Safe Software
 
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025Developing Schemas with FME and Excel - Peak of Data & AI 2025
Developing Schemas with FME and Excel - Peak of Data & AI 2025
Safe Software
 
PyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent IntegrationPyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent Integration
barqawicloud
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...Bridging the divide: A conversation on tariffs today in the book industry - T...
Bridging the divide: A conversation on tariffs today in the book industry - T...
BookNet Canada
 
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
National Fuels Treatments Initiative: Building a Seamless Map of Hazardous Fu...
Safe Software
 
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven InfrastructureNo-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
Safe Software
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
Down the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training RoadblocksDown the Rabbit Hole – Solving 5 Training Roadblocks
Down the Rabbit Hole – Solving 5 Training Roadblocks
Rustici Software
 
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data ResilienceFloods in Valencia: Two FME-Powered Stories of Data Resilience
Floods in Valencia: Two FME-Powered Stories of Data Resilience
Safe Software
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FMEEnabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 

LISP: Introduction To Lisp

  • 2. OverviewAGENDAHistoryIntroductionLisp FeaturesSyntaxComparison structuresLambda expressionsConses and ListsList processing proceduresSummaryLisp applications
  • 3. Lisp was invented by John McCarthy in 1958 while he was at the MIT.McCarthy published its design in a paper in Communications of the ACM in 1960.Lisp was first implemented by Steve Russell on an IBM 704 computer.Connection to AI:Lisp was closely connected to AI research communities, especially on PDP-10 systems.Lisp was used as the implementation of the programming language Micro Planner which was used in the famous AI system SHRUDLU.Over its fifty-year history, lisp has spawned many variations on the core theme of an S-expression language. Lisp history
  • 4. A Lisp machine at the MIT museum
  • 5. Introduction to Lisp(List processing)Lisp is second oldest high-level programming languages with a long history and a distinctive, fully parenthesized syntax.Lisp is a Tool to solve some of the most difficult problems in the world of computing.It is an example of elegant, minimalist language.Lisp is one of the most popular programming languages that is used for Artificial intelligence.
  • 6. Lisp featuresBuilt in support for Lists.Atomic storage management.Dynamic TypingUniform syntax.Interactive environment.ExtensibilityStandard macros.Special forms(loop, do, dotimes..)
  • 7. Syntax (Data structures)Lists are surrounded by parenthesis.Ex: (),(()),((a,b,c)),((1,2),3,4) are all Lists.Atoms are string of characters beginning with letter, digit or special characters other than left “(“ and right “)” Ex: (a b c d) is a list of four elements(atoms) a,b,c,d Peace Of Mind 6678Prefix notation is followed in Lisp.Operators first, followed by the arguments.Ex: (+ 4 5)  adds 4 to 5 (/ 12 6)2
  • 8. Function DefinitionList represents function calls as well as basic data structures.(factorial 4)12(+4 2)6Definition of a function(defun <f-name><parameter-list><body>)Ex: (defun square(X) (*XX)) SQUARE>(square2)4>(square(square 2))16
  • 9. Function inside functionEx: (+3(40)6)49 (+3(+3 3)4)13Addition, subtraction and multiplication process2*3366
  • 10. Comparing functionsThe comparison symbols are( => ,< ,> ,=<, >= ,<= )These function return either True(T) or Nil.Ex: (= 4 4)T (< 4 4)NIL (> 5 1)T (>= 6 3)T (<= 4 3)NIL
  • 11. Other comparison functionUn-equality function( \=)Returns TRUE if values are not equal else NIL if values are equal.Division function(/)Ex: (/4 2) 2Max: It takes the maximum value of some numbersEx: (Max -3 3 40 150 -100)150Min: It takes the minimum value of some numbersEx: (Min 3 4 10 -5)-5
  • 12. Assigning functions:Syntax: setq( argument)Ex: (setq a 3)3 (* a 4)12Explicit evaluation call;(eval a)3Note: A quoted value is always kept untouched.(setq b ‘(+ a 4))(+ a 4)
  • 13. 4 equality predicates: (=, equal, eq, eql) for numerical values only.Ex:(= 2 4/2) T(setf a (1 2)) (1 2)(setf b (1 2)) (1 2)(equal a b)T(eql 3 9/3)T
  • 14. Nil represents false and an empty list.Ex:(null nil)T(null())T(null ‘(a b))NIL(not ‘(a b))NIL
  • 15. Lambda expressionsLambda operator is used to bind variables to values which are then evaluated within an expression.Arguments to lambda are list of arguments, and the expression or expressions to which the function evaluates. (lambda (arg) (arg+1)) evaluates to the function that, when applied takes one argument , binds it to arg and returns the number one greater then that argument.Ex: (lambda (arg) (arg+1) 4)5
  • 16. Conses and listsA lisp list is a singly linked list, Each cell of this list is called a Cons, is composed of two pointers, called the car and cdr.If the given cons is taken to be the head of the linked list, then its car points to the first element of the list, and its cdr points to the rest of the List.A variable which refers to the list is simply a pointer to the first cons of the list.Parenthesized S-expressions represent Linked list structure.
  • 17. List-processing proceduresList can be directly created with the list procedure, which takes any number of arguments and returns the list of these arguments.Ex: (List 1 2 ‘ a 3) ( 1 2 a 3) (List 1 ‘ (2 3) 4)(1 (2 3) 4)For the linked lists cons procedure can be used to add an element to the front of the list.Ex: (cons 1 ‘ (2 3))(1 2 3)Append procedure append two or more lists to one another.Ex: (append ‘ (1 2) ‘ (3 4))(1 2 3 4)
  • 18. Basic lisp examplesBasic hello world program(print “Hello world”)To evaluate factorial on a number(n)(defun factorial (n) (if (<= n 1) 1 (* n (factorial(- n 1)))))//iterative version which uses common Lisp’s Loop Macro//(defun factorial (n) (loop for I from 1 to n for fac=1 then (* fac i) finally (return fac)))//using recursive function//(defun –reverse (list) (let ((return –value ‘())) (dolist (e list) (push e return-value)) return-value))
  • 19. Lisp SummarySimple syntax. so, its very easy to parse.Programming in Lisp is distinguished from other programming languages due to its unique syntax and development mode.The interchangeability of code and data also gives Lisp instantly recognizable syntax. All lisp program code is written as S-expressions , or parenthesized lists.
  • 20. Applications of Lisp programmingCommon Lisp is used to develop research applications(often in Artificial Intelligence)For rapid development of prototypesLisp language is often used in interactive command line, which may be combined with an IDE.Common Lisp is used in many commercial applications, Including the Yahoo! Store Web-commerce site.Other visible applications people have developed using Lisp are:Emacs
  • 21. G2
  • 23. Igor EngraverPick a tutorial of your choice and browse through it at your own pace.The tutorials section is free, self-guiding and will not involve any additional support.Visit us at www.dataminingtools.netVisit more self help tutorials