^D (EOF) exits cleanly in canonical mode but some terminals and editors don't deliver it, leaving the user stuck. Accepting :repl/quit or :exit as the first form of a line gives a reliable keyword exit that works everywhere. The check parses the line with read-string rather than checking the evaluated value, so a nested value that happens to print as the keyword can't trigger an exit. |
||
|---|---|---|
| .. | ||
| clojure/core | ||
| jolt | ||