18 lines
681 B
Plaintext
18 lines
681 B
Plaintext
;;;; dyn-trap-site.flan's prefix, for the three container operations: at,
|
|
;;;; set-at and push. Each trap prints the file, line and column of the call
|
|
;;;; that failed, ahead of its sentence.
|
|
;;;;
|
|
;;;; The argument chooses which one fails, one per run, because each ends the
|
|
;;;; process. The line numbers are asserted by the test, so an edit above them
|
|
;;;; moves them.
|
|
(defn main [args [string]] i32
|
|
(let [which (if (> (length args) 1) (i32 (bytes->i64 (bytes-view (at args 1)))) 0)
|
|
v (vec-new dyn)]
|
|
(push v 1)
|
|
(println "before")
|
|
(cond
|
|
(= which 0) (println (at v 5))
|
|
(= which 1) (set (at v 5) 2)
|
|
:else (let [n (at v 0)] (push n 3))))
|
|
0)
|