Skip to content

Instantly share code, notes, and snippets.

@lagenorhynque
Last active November 11, 2022 07:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lagenorhynque/9f674ddbf9a010917e68213d342afc54 to your computer and use it in GitHub Desktop.
Save lagenorhynque/9f674ddbf9a010917e68213d342afc54 to your computer and use it in GitHub Desktop.
Clojure REPL: The Good Parts

Clojure REPL: The Good Parts


(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"])

twitter icon



「良いREPL」が可能にしうるもの

  • 手作業からプログラムへのスムーズな移行
  • 探索的プログラミング
  • 効率的なテスト
  • 使いやすいコードの設計

「良いREPL」に必要なもの

  • 振る舞いが追加/変更できること
  • メモリ上に状態を保存できること
  • 出力をそのままコードで使えること
  • プロジェクトコードにアクセスできること
  • 実行中のプログラムとやり取りできること
  • REPLの状態とソースコードとを同期できること
  • エディタと連携できること

「良いREPL」を支える言語設計

  • 豊かなリテラル表現
  • 不変性(immutability)
  • トップレベル定義が可能なこと
  • 高い表現力

Further Reading

#!/usr/bin/env bash
# npm install -g reveal-md
reveal-md clojure-repl-the-good-parts.md --theme night --highlight-theme monokai-sublime -w $@
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment