(L
(I
(S
(P
ots of
rritating
uperfluous
arentheses))))
About me
Volodymyr Yevtushenko
Software Engineer at EPAM
github: voloyev
email: voloyev@vivaldi.net
(L
(I
(S
(P
ost
n
tupid
arentheses))))
(LISt (Processing))))
History
John McCarthy specified lisp in 1958:
Structure of program code is represented
directly in a standard data structure.
E.g. homoiconicity
First programming language with Garbage
Collector.
Macros: ability to modify the program at
runtime and extend the language.
Lisp is not a language
It is a family of programming languages
Let's rewrite this Ruby program in Common Lisp
Ruby Common Lisp
Cons cells: constructs memory objects.
Only nil and empty list are falsy
It is better to have 100 functions operate on one data
structure than 10 functions on 10 data structures.
Alan Perlis
Lists manipulation functions
Contents of the Address Register
Contents of the Decrement Register
Steve Russell:
The first implementations of Lisp were on the IBM
704, the vacuum-tube ancestor of the vacuum-tube
709, the ancestor of the transistorized 7090, later
upgraded to the 7094.
The time was early in 1959.
Iteration
Defvar and let
Global
Local
Let’s rewrite our Ruby program!
Attribute name
Getter and setter
Default value
Getter usage
Person instance
Getter
Result
Create instance
Execute method
Why?
Common Lisp using LLVM and C++ for Molecular
Metaprogramming
(format t “Thanks!”)
(defun questions-p
(questions-list)
(some #’true-p
questions-list))

Lisp(Lots of Irritating Superfluous Parentheses)