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
.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") ")")))
(if v'
v'
(throw (ex-info "Ne tácen-bindele āfand"
(throw (ex-info (format "Ne tácen-bindele āfand: `%s`" expr)
{:phase :eval
:function 'EVAL
:args (list expr env depth)

View file

@ -130,7 +130,6 @@
actual (reps input)]
(is (= actual expected))))))
(deftest MEMBER-tests
(testing "member"
(let [expected "T"
@ -147,17 +146,15 @@
(is (= actual expected)))))
;; This is failing, and although yes, it does matter, I have not yet tracked the reason.
;; (deftest sublis-tests
;; (testing "sublis"
;; (let [expected "(SHAKESPEARE WROTE (THE TEMPEST))"
;; actual (reps
;; "(SUBLIS
;; '((X . SHAKESPEARE) (Y . (THE TEMPEST)))
;; '(X WROTE Y))")]
;; (is (= actual expected)))))
(deftest sublis-tests
(testing "sublis"
(let [expected "(SHAKESPEARE WROTE (THE TEMPEST))"
actual (reps
"(SUBLIS
'((X . SHAKESPEARE) (Y . (THE TEMPEST)))
'(X WROTE Y))")]
(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
(testing "PROG"
;; (reps "(TRACE 'PROG)")
@ -215,3 +212,14 @@
(let [expected "(1 2 3 4 5 6 7 8 9 10 11 12)"
actual (reps "(CONC P Q R)")]
(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)))))