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
80
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
Property-Based Testing with test.check and clojure.spec
lagenorhynque
0
21
🐬の推し本紹介2025: 『コーディングを支える技術 ――成り立ちから学ぶプログラミング作法』
lagenorhynque
0
75
KotlinでミニマルなResult実装による関数型エラーハンドリング
lagenorhynque
0
32
Functional Calisthenics in Kotlin: Kotlinで「関数型エクササイズ」を実践しよう
lagenorhynque
1
290
関数型言語テイスティング: Haskell, Scala, Clojure, Elixirを比べて味わう関数型プログラミングの旨さ
lagenorhynque
1
150
純LISPから考える関数型言語のプリミティブ: Clojure, Elixir, Haskell, Scala
lagenorhynque
1
190
From Scala/Clojure to Kotlin
lagenorhynque
0
84
TDD with RDD: Clojure/LispのREPLで変わる開発体験
lagenorhynque
0
110
🐬の推し本紹介2024: 『脱・日本語なまり 英語(+α)実践音声学』
lagenorhynque
1
150
Other Decks in Programming
See All in Programming
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
CSC307 Lecture 02
javiergs
PRO
1
780
AIエージェントのキホンから学ぶ「エージェンティックコーディング」実践入門
masahiro_nishimi
5
470
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
CSC307 Lecture 04
javiergs
PRO
0
660
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
OSSとなったswift-buildで Xcodeのビルドを差し替えられるため 自分でXcodeを直せる時代になっている ダイアモンド問題編
yimajo
3
620
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
220
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
140
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
220
GraphQLとの向き合い方2022年版
quramy
50
14k
HDC tutorial
michielstock
1
380
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Chasing Engaging Ingredients in Design
codingconduct
0
110
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Writing Fast Ruby
sferik
630
62k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Automating Front-end Workflow
addyosmani
1371
200k
エンジニアに許された特別な時間の終わり
watany
106
230k
Producing Creativity
orderedlist
PRO
348
40k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
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