All seven Done criteria from §7: 1. ✅ Infinite-seq cases: 21/21 (0 hangs) 2. ✅ Conformance: 229/229 x3 (interpret/compile/self-host) 3. ✅ Specs: 32/32 files, 0 failures 4. ✅ clojure-test-suite: 3971 pass (up from 3926), 6 timeouts (down from 9) 5. ✅ Representation decision: Option B (hybrid), blast-radius measured 6. ✅ core-bench: TOTAL 2531 ms captured 7. ✅ bd close jolt-c09 Deferred to follow-up (not blocking): - §6.3 laziness counter tests - core-bench Phase-4 comparison - Self-host + fixpoint verification
43 lines
980 B
Text
43 lines
980 B
Text
(when-let [requires (resolve 'clojure.main/repl-requires)] (clojure.core/apply clojure.core/require @requires))
|
||
clj꞉user꞉>
|
||
(defn read
|
||
[reader]
|
||
(let [line ((get (dyn :current-env) (symbol "file/read")) reader :line)]
|
||
(when line
|
||
(read-string line))))
|
||
clj꞉user꞉>
|
||
(defn foo [])
|
||
clj꞉user꞉>
|
||
(foo)
|
||
clj꞉user꞉>
|
||
(defn foo [x]
|
||
(into (range 10) [x]))
|
||
clj꞉user꞉>
|
||
(foo)
|
||
; expected integer key for tuple in range [0, 0), got 0
|
||
clj꞉user꞉>
|
||
(foo 10)
|
||
clj꞉user꞉>
|
||
(foo "a")
|
||
clj꞉user꞉>
|
||
(foo :a)
|
||
clj꞉user꞉>
|
||
(sh "ls")
|
||
; Unable to resolve symbol: sh
|
||
clj꞉user꞉>
|
||
(jolt/sh "ls")
|
||
; Unable to resolve symbol: jolt/sh
|
||
clj꞉user꞉>
|
||
(defn sh
|
||
[& args]
|
||
(let [cmd (apply str (interpose " " args))
|
||
result (os/shell cmd)]
|
||
{:exit (result 0) :out (result 1) :err (result 2)}))
|
||
clj꞉user꞉>
|
||
(defn shell
|
||
[& args]
|
||
(:out (apply sh args)))
|
||
clj꞉user꞉>
|
||
(sh "ls")
|
||
; Unable to resolve symbol: os/shell
|
||
clj꞉user꞉>
|