SUBLIS test still breaking, CONC test still failing, otherwise good.

I'm now convinced that the reason for the SUBLIS fail is a misprint in the manual!
This commit is contained in:
Simon Brooke 2023-07-05 08:12:27 +01:00
parent dc46735f55
commit 9899a8b678
4 changed files with 22 additions and 13 deletions

2
.gitignore vendored
View file

@ -23,3 +23,5 @@ Sysout*.lsp
src/beowulf/scratch.clj src/beowulf/scratch.clj
.portal/vs-code.edn .portal/vs-code.edn
.portal/

View file

@ -1 +0,0 @@
{:host "localhost", :port 62056}

View file

@ -443,7 +443,7 @@
(println (str indent ": EVAL: deóp bindele: (" expr " . " (or v' "nil") ")"))) (println (str indent ": EVAL: deóp bindele: (" expr " . " (or v' "nil") ")")))
(if v' (if v'
v' v'
(throw (ex-info "Ne tácen-bindele āfand" (throw (ex-info (format "Ne tácen-bindele āfand: `%s`" expr)
{:phase :eval {:phase :eval
:function 'EVAL :function 'EVAL
:args (list expr env depth) :args (list expr env depth)

View file

@ -130,7 +130,6 @@
actual (reps input)] actual (reps input)]
(is (= actual expected)))))) (is (= actual expected))))))
(deftest MEMBER-tests (deftest MEMBER-tests
(testing "member" (testing "member"
(let [expected "T" (let [expected "T"
@ -147,17 +146,15 @@
(is (= actual expected))))) (is (= actual expected)))))
;; This is failing, and although yes, it does matter, I have not yet tracked the reason. ;; This is failing, and although yes, it does matter, I have not yet tracked the reason.
;; (deftest sublis-tests (deftest sublis-tests
;; (testing "sublis" (testing "sublis"
;; (let [expected "(SHAKESPEARE WROTE (THE TEMPEST))" (let [expected "(SHAKESPEARE WROTE (THE TEMPEST))"
;; actual (reps actual (reps
;; "(SUBLIS "(SUBLIS
;; '((X . SHAKESPEARE) (Y . (THE TEMPEST))) '((X . SHAKESPEARE) (Y . (THE TEMPEST)))
;; '(X WROTE Y))")] '(X WROTE Y))")]
;; (is (= actual expected))))) (is (= actual expected)))))
;; this works just fine in the REPL provided PROG is traced, but does not work
;; if PROG is not traced (and doesn't work in the test harness either way)
(deftest prog-tests (deftest prog-tests
(testing "PROG" (testing "PROG"
;; (reps "(TRACE 'PROG)") ;; (reps "(TRACE 'PROG)")
@ -215,3 +212,14 @@
(let [expected "(1 2 3 4 5 6 7 8 9 10 11 12)" (let [expected "(1 2 3 4 5 6 7 8 9 10 11 12)"
actual (reps "(CONC P Q R)")] actual (reps "(CONC P Q R)")]
(is (= actual expected))))) (is (= actual expected)))))
(deftest attrib-tests
(testing "ATTRIB"
(reps "(SETQ X '(A B C))")
(reps "(SETQ Y '(D E F))")
(let [expected "(D E F)"
actual (reps "(ATTRIB X Y)")]
(is (= actual expected)))
(let [expected "(A B C D E F)"
actual (reps "X")]
(is (= actual expected)))))