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
33
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
Learning Modern Web API Styles from IDL: REST, GraphQL, gRPC
lagenorhynque
0
29
Team Geek Revisited
lagenorhynque
0
21
Scala vs Clojure?: The Rise and Fall of Functional Languages in Opt Technologies
lagenorhynque
0
62
Exploring Immutable Persistent World with Clojure Collections
lagenorhynque
0
100
Introduction to French Grammar for English Learners
lagenorhynque
0
120
From Java through Scala to Clojure
lagenorhynque
0
1.2k
Introduction to Practical Etymology
lagenorhynque
0
85
Introduction to Metaprogramming
lagenorhynque
0
120
The World of Labour Law
lagenorhynque
0
29
Other Decks in Programming
See All in Programming
Ruby GitHub Packages
bkuhlmann
0
620
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
1.1k
今、知っておきたい! 生成AIエージェントの世界
elith
3
340
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
370
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
430
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
280
Rubyでたのしむクリエイティブコーディング/Enjoy Creative coding with Ruby
chobishiba
1
160
オブジェクト指向のリ・オリエンテーション~歴史を振り返り、AI時代に向きなおる~
hanyudaeiiti
10
5.7k
Elm 0.19.0 Changes
bkuhlmann
0
490
データアナリストが行うDatabricksを活用したETLの自動化事例
shinoa
0
250
Featured
See All Featured
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
990
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
119
38k
The Power of CSS Pseudo Elements
geoffreycrofte
59
5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
115
18k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
76
41k
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
Git: the NoSQL Database
bkeepers
PRO
422
63k
It's Worth the Effort
3n
180
27k
BBQ
matthewcrist
80
8.7k
Designing for Performance
lara
601
67k
Testing 201, or: Great Expectations
jmmastey
27
6.3k
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