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
Clojure REPL: The Good Parts
Search
Kent OHASHI
November 25, 2019
Programming
0
49
Clojure REPL: The Good Parts
Clojure/LispのREPLのような「良いREPL」とは何か、考えてみよう!
Kent OHASHI
November 25, 2019
Tweet
Share
More Decks by Kent OHASHI
See All by Kent OHASHI
do Notation Equivalents in JVM languages: Scala, Kotlin, Clojure
lagenorhynque
0
3
Exploring Collections in JVM Languages through Internals of map Function
lagenorhynque
0
11
Kotlin Meets Data-Oriented Programming
lagenorhynque
0
12
Introduction to Tree Representations in RDB 2024
lagenorhynque
0
27
Boundary between Mutability and Immutability
lagenorhynque
0
39
Learning Modern Web API Styles from IDL: REST, GraphQL, gRPC
lagenorhynque
0
72
Team Geek Revisited
lagenorhynque
0
56
Scala vs Clojure?: The Rise and Fall of Functional Languages in Opt Technologies
lagenorhynque
0
110
Exploring Immutable Persistent World with Clojure Collections
lagenorhynque
0
110
Other Decks in Programming
See All in Programming
Jakarta EE meets AI
ivargrimstad
0
280
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
シェーダーで魅せるMapLibreの動的ラスタータイル
satoshi7190
1
480
Outline View in SwiftUI
1024jp
1
350
我々のデザインシステムは Chakra v3 にアップデートします
shunya078
2
170
Remix on Hono on Cloudflare Workers
yusukebe
1
310
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
260
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.4k
Quine, Polyglot, 良いコード
qnighy
4
650
Jakarta EE meets AI
ivargrimstad
0
740
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
210
Ethereum_.pdf
nekomatu
0
470
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
380
KATA
mclloyd
29
14k
4 Signs Your Business is Dying
shpigford
180
21k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Practical Orchestrator
shlominoach
186
10k
Into the Great Unknown - MozCon
thekraken
32
1.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
GitHub's CSS Performance
jonrohan
1030
460k
For a Future-Friendly Web
brad_frost
175
9.4k
Transcript
Clojure REPL: The Good Parts Clojure REPL: The Good Parts
lagénorhynque lagénorhynque (defprofile lagénorhynque :id @lagenorhynque :reading "/laʒenɔʁɛ̃ k/" :aliases
[" カマイルカ "] :languages [Clojure Haskell English français] :interests [programming language-learning law mathematics] :commits ["github.com/lagenorhynque/duct.module.pedestal" "github.com/lagenorhynque/duct.module.cambium"] :contributes ["github.com/japan-clojurians/clojure-site-ja"])
What makes a good REPL? What makes a good REPL?
「良い REPL 」が可能にしうるもの 「良い REPL 」が可能にしうるもの ⼿作業からプログラムへのスムーズな移⾏ 探索的プログラミング 効率的なテスト 使いやすいコードの設計
「良い REPL 」に必要なもの 「良い REPL 」に必要なもの 振る舞いが追加/ 変更できること メモリ上に状態を保存できること 出⼒をそのままコードで使えること
プロジェクトコードにアクセスできること 実⾏中のプログラムとやり取りできること REPL の状態とソースコードとを同期できること エディタと連携できること
「良い REPL 」を⽀える⾔語設計 「良い REPL 」を⽀える⾔語設計 豊かなリテラル表現 不変性(immutability) トップレベル定義が可能なこと ⾼い表現⼒
Further Reading Further Reading cf. REPL Driven Programming - tyano's
Tech Log Re:REPL-Driven Development // Speaker Deck Clojure でREPL 駆動開発を始めよう - Qiita The Ultimate Guide To Clojure REPLs Val on Programming: What makes a good REPL? Clojure/ClojureScript 関連リンク集 - Qiita