Mostly work on generating better documentation.

This commit is contained in:
Simon Brooke 2023-04-01 14:28:50 +01:00
parent 4c2380ca26
commit 41cecdc522
34 changed files with 1531 additions and 794 deletions

View file

@ -6,7 +6,7 @@
[beowulf.read :refer [gsp]]
[beowulf.reader.generate :refer [generate]]
[beowulf.reader.parser :refer [parse]]
[beowulf.reader.simplify :refer [simplify]]))
[beowulf.reader.simplify :refer [simplify-tree]]))
;; These tests are taken generally from the examples on page 10 of
;; Lisp 1.5 Programmers Manual:
@ -74,7 +74,7 @@
(let [expected "(LABEL FF (LAMBDA (X) (COND ((ATOM X) X) ((QUOTE T) (FF (CAR X))))))"
actual (print-str
(generate
(simplify
(simplify-tree
(parse "label[ff;λ[[x];[atom[x]->x; T->ff[car[x]]]]]"))))]
(is (= actual expected)))))

View file

@ -5,7 +5,7 @@
(deftest macro-expansion
(testing "Expanding DEFUN"
(let [expected "(SET (QUOTE FACT) (LAMBDA (X) (COND ((ZEROP X) 1) (T (TIMES X (FACT (SUB1 X)))))))"
(let [expected "(SET (QUOTE FACT) (QUOTE (LAMBDA (X) (COND ((ZEROP X) 1) (T (TIMES X (FACT (SUB1 X))))))))"
source "(DEFUN FACT (X) (COND ((ZEROP X) 1) (T (TIMES X (FACT (SUB1 X))))))"
actual (print-str (gsp source))]
(is (= actual expected)))))