>100 Views
November 25, 19
スライド概要
Clojure/LispのREPLのような「良いREPL」とは何か、考えてみよう!
「楽しく楽にcoolにsmartに」を理想とするprogrammer/philosopher/liberalist/realist。 好きな言語はClojure, Haskell, Python, English, français, русский。 読書、プログラミング、語学、法学、数学が大好き! イルカと海も大好き🐬
Clojure REPL: The Good Parts
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"] ["github.com/japan-clojurians/clojure-site-ja"]) :contributes
What makes a good REPL?
「良いREPL」が可能にしうるもの ⼿作業からプログラムへのスムーズな移⾏ 探索的プログラミング 効率的なテスト 使いやすいコードの設計
「良いREPL」に必要なもの 振る舞いが追加/変更できること メモリ上に状態を保存できること 出⼒をそのままコードで使えること プロジェクトコードにアクセスできること 実⾏中のプログラムとやり取りできること REPLの状態とソースコードとを同期できること エディタと連携できること
「良いREPL」を⽀える⾔語設計 豊かなリテラル表現 不変性(immutability) トップレベル定義が可能なこと ⾼い表現⼒
Further Reading 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? cf. Clojure/ClojureScript - Qiita で 駆動開発を始めよう 関連リンク集