Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Road to LISP heaven
Search
Giovanny Gongora
November 15, 2018
Technology
160
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Road to LISP heaven
Presented: Pataconf 2018
Giovanny Gongora
November 15, 2018
More Decks by Giovanny Gongora
See All by Giovanny Gongora
Memory Chronicles: Manage, Trace and Fix Memory Leaks
gioyik
0
160
Profile & Analyze Node.js Applications
gioyik
0
140
Node.js Contributor Workshop
gioyik
0
120
Profile & Analyze Node.js Applications like a Pro
gioyik
1
110
Leak Hunting - Finding and debugging a memory leak in Nodejs.pdf
gioyik
1
1k
Finding and debugging a memory leak in Node.js
gioyik
0
210
Leak Hunting: Finding and debugging a memory leak in Node.js
gioyik
0
590
Performance first: Node.js and Rust
gioyik
0
220
Time for Growth
gioyik
0
170
Other Decks in Technology
See All in Technology
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
1
110
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
160
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
660
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
0
1.4k
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
370
AI時代だからこそ、スケールしないことをやろう
yutashigemura
1
170
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/6 - 2026/8
oracle4engineer
PRO
0
200
DEFCON_CHV_CTF_Write-up.pdf
bata_24
0
150
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
690
AIオーケストレーションを活用した 開発ワークフローの設計と実践
bqnq
0
170
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
4
1.6k
薬剤師(ドメインエキスパート)と一緒に育てる薬局向けAIアシスタント
kakehashi
PRO
2
160
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
From π to Pie charts
rasagy
0
360
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
Producing Creativity
orderedlist
PRO
348
41k
Unsuck your backbone
ammeep
672
58k
30 Presentation Tips
portentint
PRO
1
390
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
600
GitHub's CSS Performance
jonrohan
1033
470k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
980
Ruling the World: When Life Gets Gamed
codingconduct
0
330
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