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
55
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
From Scala/Clojure to Kotlin
lagenorhynque
0
7
TDD with RDD: Changed Developer Experience through Clojure/Lisp REPLs
lagenorhynque
0
24
My Favourite Book in 2024: Get Rid of Your Japanese Accent
lagenorhynque
0
46
do Notation Equivalents in JVM languages: Scala, Kotlin, Clojure
lagenorhynque
0
31
Exploring Collections in JVM Languages through Internals of map Function
lagenorhynque
0
31
Kotlin Meets Data-Oriented Programming
lagenorhynque
0
34
Introduction to Tree Representations in RDB 2024
lagenorhynque
0
58
Boundary between Mutability and Immutability
lagenorhynque
0
65
Learning Modern Web API Styles from IDL: REST, GraphQL, gRPC
lagenorhynque
0
100
Other Decks in Programming
See All in Programming
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
520
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.6k
AIプログラミング雑キャッチアップ
yuheinakasaka
18
4.4k
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
120
ML.NETで始める機械学習
ymd65536
0
230
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
680
Django NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
1
250
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
150
Jasprが凄い話
hyshu
0
160
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.5k
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
470
CI改善もDatadogとともに
taumu
0
200
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
The Invisible Side of Design
smashingmag
299
50k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Why Our Code Smells
bkeepers
PRO
336
57k
Building Adaptive Systems
keathley
40
2.4k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
For a Future-Friendly Web
brad_frost
176
9.6k
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