Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Road to LISP heaven
Search
Giovanny Gongora
November 15, 2018
Technology
1
130
Road to LISP heaven
Presented: Pataconf 2018
Giovanny Gongora
November 15, 2018
Tweet
Share
More Decks by Giovanny Gongora
See All by Giovanny Gongora
Memory Chronicles: Manage, Trace and Fix Memory Leaks
gioyik
0
140
Profile & Analyze Node.js Applications
gioyik
0
110
Node.js Contributor Workshop
gioyik
0
94
Profile & Analyze Node.js Applications like a Pro
gioyik
1
81
Leak Hunting - Finding and debugging a memory leak in Nodejs.pdf
gioyik
1
970
Finding and debugging a memory leak in Node.js
gioyik
0
190
Leak Hunting: Finding and debugging a memory leak in Node.js
gioyik
0
560
Performance first: Node.js and Rust
gioyik
0
190
Time for Growth
gioyik
0
140
Other Decks in Technology
See All in Technology
re:Invent2025 セッションレポ ~Spec-driven development with Kiro~
nrinetcom
PRO
1
120
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
310
フィッシュボウルのやり方 / How to do a fishbowl
pauli
2
430
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
1
250
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
190
日本の AI 開発と世界の潮流 / GenAI Development in Japan
hariby
2
650
MariaDB Connector/C のcaching_sha2_passwordプラグインの仕様について
boro1234
0
1.1k
AR Guitar: Expanding Guitar Performance from a Live House to Urban Space
ekito_station
0
270
Claude Codeを使った情報整理術
knishioka
15
11k
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
130
"人"が頑張るAI駆動開発
yokomachi
1
650
ハッカソンから社内プロダクトへ AIエージェント「ko☆shi」開発で学んだ4つの重要要素
sonoda_mj
6
1.9k
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
37
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
180
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
320
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
120
Typedesign – Prime Four
hannesfritz
42
2.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
200
Making the Leap to Tech Lead
cromwellryan
135
9.7k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
83
GitHub's CSS Performance
jonrohan
1032
470k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
210
Transcript
Road to LISP heaven
The ((( ))) language
The ((( ))) language
Why talk about LISP? • Want to learn more about
programming languages • Understand why we do something today • What is the purpose and behavior with something • It’s fun, why no? :)
What is this talk about? • Language history • Context
about design decisions • Understand which LISP concepts are good for • Think about new data reference patterns ready • No rants plz
History/Context
• Let’s travel to 1930s
• Let’s travel to 1930s • New Princeton offices
• Let’s travel to 1930s • New Princeton offices •
Alonzo Church
• Let’s travel to 1930s • New Princeton offices •
Alonzo Church • Lambda Calculus
• Let’s travel to 1930s • New Princeton offices •
Alonzo Church • Lambda Calculus • World War II
• Let’s travel to 1930s • New Princeton offices •
Alonzo Church • Lambda Calculus • World War II • Electronic Discrete Variable Automatic Computer (EDVAC)
• Let’s travel to 1930s • New Princeton offices •
Alonzo Church • Lambda Calculus • World War II • Electronic Discrete Variable Automatic Computer (EDVAC) • 1958 unveiled List Processing language (Lisp)
Learn to read LIPS in one example
f(4, 2)
(f 4, 2)
(60 * 9 / 5) + 32
(+ (* (/ 9 5) 60) 32)
You already know LISP :)
(+ 2 2)
4
(= (+ 2 2) (* 2 2))
True
(first (list ‘a ‘b ‘c))
a
(define patacones 6) (define chorizos 5) (if (> patacones chorizos)
(printf "Patacones!") (printf “Chorizos!”))
Patacones!
((define (dbl x) (* 4 x)) (dbl 10)
40
Interesting facts about LISP • Comments are made using ;
• Defined only atom, eq, cons, car, and cdr • Functions were intended to create the whole language
What made LISP “different”?
• Conditionals
• Conditionals • A function type
• Conditionals • A function type • Recursion
• Conditionals • A function type • Recursion • New
concept of variables
• Conditionals • A function type • Recursion • New
concept of variables • Garbage Collection
• Conditionals • A function type • Recursion • New
concept of variables • Garbage Collection • Composed expressions
• Conditionals • A function type • Recursion • New
concept of variables • Garbage Collection • Composed expressions • Literal data structures
(macros) You can change the language, implement your own features,
or even write a new programming language
Scheme vs Common lisp
Common Lisp
Scheme
Functional Programming & Lambda calculus & LISP
• Not all lambda calculus ideas transform to practice •
Functional programming is a set of ideas, not a set of strict guidelines • Concurrency is a win
Thanks Giovanny Gongora @Gioyik