Changed tests to use bound-identifier=?, not free-identifier=?
This commit is contained in:
parent
1f2a9eaebb
commit
946db4f020
|
@ -95,7 +95,7 @@
|
|||
(subtemplate ([xⱼ wⱼ] foo [zᵢ pᵢ] …)))])
|
||||
[_ #;(([x1 w1] foo1 [z1 p1] [zz1 pp1])
|
||||
([x2 w2] foo2 [z2 p2] [zz2 pp2]))
|
||||
(check free-identifier=? #'x1 #'x2)]))
|
||||
(check bound-identifier=? #'x1 #'x2)]))
|
||||
|
||||
(syntax-parse (syntax-parse #'(a b c d)
|
||||
[(_ xⱼ zᵢ …)
|
||||
|
@ -103,135 +103,135 @@
|
|||
(subtemplate ([xⱼ wⱼ] foo [zᵢ pᵢ] …)))])
|
||||
[(([x1 w1] foo1 [z1 p1] [zz1 pp1])
|
||||
([x2 w2] foo2 [z2 p2] [zz2 pp2]))
|
||||
(check free-identifier=? #'x1 #'x2)
|
||||
(check free-identifier=? #'w1 #'w2)
|
||||
(check free-identifier=? #'foo1 #'foo2)
|
||||
(check free-identifier=? #'z1 #'z2)
|
||||
(check free-identifier=? #'p1 #'p2)
|
||||
(check free-identifier=? #'zz1 #'zz2)
|
||||
(check free-identifier=? #'pp1 #'pp2)
|
||||
(check bound-identifier=? #'x1 #'x2)
|
||||
(check bound-identifier=? #'w1 #'w2)
|
||||
(check bound-identifier=? #'foo1 #'foo2)
|
||||
(check bound-identifier=? #'z1 #'z2)
|
||||
(check bound-identifier=? #'p1 #'p2)
|
||||
(check bound-identifier=? #'zz1 #'zz2)
|
||||
(check bound-identifier=? #'pp1 #'pp2)
|
||||
|
||||
(check free-identifier=? #'x1 #'b)
|
||||
(check free-identifier=? #'z1 #'c)
|
||||
(check free-identifier=? #'zz1 #'d)
|
||||
(check bound-identifier=? #'x1 #'b)
|
||||
(check bound-identifier=? #'z1 #'c)
|
||||
(check bound-identifier=? #'zz1 #'d)
|
||||
|
||||
(check free-identifier=? #'x2 #'b)
|
||||
(check free-identifier=? #'z2 #'c)
|
||||
(check free-identifier=? #'zz2 #'d)
|
||||
(check bound-identifier=? #'x2 #'b)
|
||||
(check bound-identifier=? #'z2 #'c)
|
||||
(check bound-identifier=? #'zz2 #'d)
|
||||
|
||||
;; The *1 are all different:
|
||||
(check free-identifier=? #'x1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'foo1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'z1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'zz1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'pp1)
|
||||
(check bound-identifier=? #'x1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'foo1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'z1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'zz1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'pp1)
|
||||
|
||||
(check (∘ not free-identifier=?) #'w1 #'x1)
|
||||
(check free-identifier=? #'w1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'foo1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'z1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'zz1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'x1)
|
||||
(check bound-identifier=? #'w1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'foo1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'z1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'zz1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'pp1)
|
||||
|
||||
(check (∘ not free-identifier=?) #'foo1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'foo1 #'w1)
|
||||
(check free-identifier=? #'foo1 #'foo1)
|
||||
(check (∘ not free-identifier=?) #'foo1 #'z1)
|
||||
(check (∘ not free-identifier=?) #'foo1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'foo1 #'zz1)
|
||||
(check (∘ not free-identifier=?) #'foo1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'foo1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'foo1 #'w1)
|
||||
(check bound-identifier=? #'foo1 #'foo1)
|
||||
(check (∘ not bound-identifier=?) #'foo1 #'z1)
|
||||
(check (∘ not bound-identifier=?) #'foo1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'foo1 #'zz1)
|
||||
(check (∘ not bound-identifier=?) #'foo1 #'pp1)
|
||||
|
||||
(check (∘ not free-identifier=?) #'z1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'z1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'z1 #'foo1)
|
||||
(check free-identifier=? #'z1 #'z1)
|
||||
(check (∘ not free-identifier=?) #'z1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'z1 #'zz1)
|
||||
(check (∘ not free-identifier=?) #'z1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'z1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'z1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'z1 #'foo1)
|
||||
(check bound-identifier=? #'z1 #'z1)
|
||||
(check (∘ not bound-identifier=?) #'z1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'z1 #'zz1)
|
||||
(check (∘ not bound-identifier=?) #'z1 #'pp1)
|
||||
|
||||
(check (∘ not free-identifier=?) #'p1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'foo1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'z1)
|
||||
(check free-identifier=? #'p1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'zz1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'foo1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'z1)
|
||||
(check bound-identifier=? #'p1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'zz1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'pp1)
|
||||
|
||||
(check (∘ not free-identifier=?) #'zz1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'zz1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'zz1 #'foo1)
|
||||
(check (∘ not free-identifier=?) #'zz1 #'z1)
|
||||
(check (∘ not free-identifier=?) #'zz1 #'p1)
|
||||
(check free-identifier=? #'zz1 #'zz1)
|
||||
(check (∘ not free-identifier=?) #'zz1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'zz1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'zz1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'zz1 #'foo1)
|
||||
(check (∘ not bound-identifier=?) #'zz1 #'z1)
|
||||
(check (∘ not bound-identifier=?) #'zz1 #'p1)
|
||||
(check bound-identifier=? #'zz1 #'zz1)
|
||||
(check (∘ not bound-identifier=?) #'zz1 #'pp1)
|
||||
|
||||
(check (∘ not free-identifier=?) #'pp1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'pp1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'pp1 #'foo1)
|
||||
(check (∘ not free-identifier=?) #'pp1 #'z1)
|
||||
(check (∘ not free-identifier=?) #'pp1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'pp1 #'zz1)
|
||||
(check free-identifier=? #'pp1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'pp1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'pp1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'pp1 #'foo1)
|
||||
(check (∘ not bound-identifier=?) #'pp1 #'z1)
|
||||
(check (∘ not bound-identifier=?) #'pp1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'pp1 #'zz1)
|
||||
(check bound-identifier=? #'pp1 #'pp1)
|
||||
|
||||
;; The *2 are all different:
|
||||
(check free-identifier=? #'x2 #'x2)
|
||||
(check (∘ not free-identifier=?) #'x2 #'w2)
|
||||
(check (∘ not free-identifier=?) #'x2 #'foo2)
|
||||
(check (∘ not free-identifier=?) #'x2 #'z2)
|
||||
(check (∘ not free-identifier=?) #'x2 #'p2)
|
||||
(check (∘ not free-identifier=?) #'x2 #'zz2)
|
||||
(check (∘ not free-identifier=?) #'x2 #'pp2)
|
||||
(check bound-identifier=? #'x2 #'x2)
|
||||
(check (∘ not bound-identifier=?) #'x2 #'w2)
|
||||
(check (∘ not bound-identifier=?) #'x2 #'foo2)
|
||||
(check (∘ not bound-identifier=?) #'x2 #'z2)
|
||||
(check (∘ not bound-identifier=?) #'x2 #'p2)
|
||||
(check (∘ not bound-identifier=?) #'x2 #'zz2)
|
||||
(check (∘ not bound-identifier=?) #'x2 #'pp2)
|
||||
|
||||
(check (∘ not free-identifier=?) #'w2 #'x2)
|
||||
(check free-identifier=? #'w2 #'w2)
|
||||
(check (∘ not free-identifier=?) #'w2 #'foo2)
|
||||
(check (∘ not free-identifier=?) #'w2 #'z2)
|
||||
(check (∘ not free-identifier=?) #'w2 #'p2)
|
||||
(check (∘ not free-identifier=?) #'w2 #'zz2)
|
||||
(check (∘ not free-identifier=?) #'w2 #'pp2)
|
||||
(check (∘ not bound-identifier=?) #'w2 #'x2)
|
||||
(check bound-identifier=? #'w2 #'w2)
|
||||
(check (∘ not bound-identifier=?) #'w2 #'foo2)
|
||||
(check (∘ not bound-identifier=?) #'w2 #'z2)
|
||||
(check (∘ not bound-identifier=?) #'w2 #'p2)
|
||||
(check (∘ not bound-identifier=?) #'w2 #'zz2)
|
||||
(check (∘ not bound-identifier=?) #'w2 #'pp2)
|
||||
|
||||
(check (∘ not free-identifier=?) #'foo2 #'x2)
|
||||
(check (∘ not free-identifier=?) #'foo2 #'w2)
|
||||
(check free-identifier=? #'foo2 #'foo2)
|
||||
(check (∘ not free-identifier=?) #'foo2 #'z2)
|
||||
(check (∘ not free-identifier=?) #'foo2 #'p2)
|
||||
(check (∘ not free-identifier=?) #'foo2 #'zz2)
|
||||
(check (∘ not free-identifier=?) #'foo2 #'pp2)
|
||||
(check (∘ not bound-identifier=?) #'foo2 #'x2)
|
||||
(check (∘ not bound-identifier=?) #'foo2 #'w2)
|
||||
(check bound-identifier=? #'foo2 #'foo2)
|
||||
(check (∘ not bound-identifier=?) #'foo2 #'z2)
|
||||
(check (∘ not bound-identifier=?) #'foo2 #'p2)
|
||||
(check (∘ not bound-identifier=?) #'foo2 #'zz2)
|
||||
(check (∘ not bound-identifier=?) #'foo2 #'pp2)
|
||||
|
||||
(check (∘ not free-identifier=?) #'z2 #'x2)
|
||||
(check (∘ not free-identifier=?) #'z2 #'w2)
|
||||
(check (∘ not free-identifier=?) #'z2 #'foo2)
|
||||
(check free-identifier=? #'z2 #'z2)
|
||||
(check (∘ not free-identifier=?) #'z2 #'p2)
|
||||
(check (∘ not free-identifier=?) #'z2 #'zz2)
|
||||
(check (∘ not free-identifier=?) #'z2 #'pp2)
|
||||
(check (∘ not bound-identifier=?) #'z2 #'x2)
|
||||
(check (∘ not bound-identifier=?) #'z2 #'w2)
|
||||
(check (∘ not bound-identifier=?) #'z2 #'foo2)
|
||||
(check bound-identifier=? #'z2 #'z2)
|
||||
(check (∘ not bound-identifier=?) #'z2 #'p2)
|
||||
(check (∘ not bound-identifier=?) #'z2 #'zz2)
|
||||
(check (∘ not bound-identifier=?) #'z2 #'pp2)
|
||||
|
||||
(check (∘ not free-identifier=?) #'p2 #'x2)
|
||||
(check (∘ not free-identifier=?) #'p2 #'w2)
|
||||
(check (∘ not free-identifier=?) #'p2 #'foo2)
|
||||
(check (∘ not free-identifier=?) #'p2 #'z2)
|
||||
(check free-identifier=? #'p2 #'p2)
|
||||
(check (∘ not free-identifier=?) #'p2 #'zz2)
|
||||
(check (∘ not free-identifier=?) #'p2 #'pp2)
|
||||
(check (∘ not bound-identifier=?) #'p2 #'x2)
|
||||
(check (∘ not bound-identifier=?) #'p2 #'w2)
|
||||
(check (∘ not bound-identifier=?) #'p2 #'foo2)
|
||||
(check (∘ not bound-identifier=?) #'p2 #'z2)
|
||||
(check bound-identifier=? #'p2 #'p2)
|
||||
(check (∘ not bound-identifier=?) #'p2 #'zz2)
|
||||
(check (∘ not bound-identifier=?) #'p2 #'pp2)
|
||||
|
||||
(check (∘ not free-identifier=?) #'zz2 #'x2)
|
||||
(check (∘ not free-identifier=?) #'zz2 #'w2)
|
||||
(check (∘ not free-identifier=?) #'zz2 #'foo2)
|
||||
(check (∘ not free-identifier=?) #'zz2 #'z2)
|
||||
(check (∘ not free-identifier=?) #'zz2 #'p2)
|
||||
(check free-identifier=? #'zz2 #'zz2)
|
||||
(check (∘ not free-identifier=?) #'zz2 #'pp2)
|
||||
(check (∘ not bound-identifier=?) #'zz2 #'x2)
|
||||
(check (∘ not bound-identifier=?) #'zz2 #'w2)
|
||||
(check (∘ not bound-identifier=?) #'zz2 #'foo2)
|
||||
(check (∘ not bound-identifier=?) #'zz2 #'z2)
|
||||
(check (∘ not bound-identifier=?) #'zz2 #'p2)
|
||||
(check bound-identifier=? #'zz2 #'zz2)
|
||||
(check (∘ not bound-identifier=?) #'zz2 #'pp2)
|
||||
|
||||
(check (∘ not free-identifier=?) #'pp2 #'x2)
|
||||
(check (∘ not free-identifier=?) #'pp2 #'w2)
|
||||
(check (∘ not free-identifier=?) #'pp2 #'foo2)
|
||||
(check (∘ not free-identifier=?) #'pp2 #'z2)
|
||||
(check (∘ not free-identifier=?) #'pp2 #'p2)
|
||||
(check (∘ not free-identifier=?) #'pp2 #'zz2)
|
||||
(check free-identifier=? #'pp2 #'pp2)])
|
||||
(check (∘ not bound-identifier=?) #'pp2 #'x2)
|
||||
(check (∘ not bound-identifier=?) #'pp2 #'w2)
|
||||
(check (∘ not bound-identifier=?) #'pp2 #'foo2)
|
||||
(check (∘ not bound-identifier=?) #'pp2 #'z2)
|
||||
(check (∘ not bound-identifier=?) #'pp2 #'p2)
|
||||
(check (∘ not bound-identifier=?) #'pp2 #'zz2)
|
||||
(check bound-identifier=? #'pp2 #'pp2)])
|
||||
|
||||
(syntax-parse (syntax-parse #'(a b c)
|
||||
[(xᵢ …)
|
||||
|
@ -240,12 +240,12 @@
|
|||
#,flob
|
||||
zᵢ …))])
|
||||
[(a1 b1 c1 (a2 b2 c2) a3 b3 c3)
|
||||
(check free-identifier=? #'a2 #'a3)
|
||||
(check free-identifier=? #'b2 #'b3)
|
||||
(check free-identifier=? #'c2 #'c3)
|
||||
(check (∘ not free-identifier=?) #'a1 #'a2)
|
||||
(check (∘ not free-identifier=?) #'b1 #'b2)
|
||||
(check (∘ not free-identifier=?) #'c1 #'c2)])
|
||||
(check bound-identifier=? #'a2 #'a3)
|
||||
(check bound-identifier=? #'b2 #'b3)
|
||||
(check bound-identifier=? #'c2 #'c3)
|
||||
(check (∘ not bound-identifier=?) #'a1 #'a2)
|
||||
(check (∘ not bound-identifier=?) #'b1 #'b2)
|
||||
(check (∘ not bound-identifier=?) #'c1 #'c2)])
|
||||
|
||||
(syntax-parse (syntax-parse #'(a b c)
|
||||
[(xᵢ …)
|
||||
|
@ -253,12 +253,12 @@
|
|||
#,(quasisubtemplate (zᵢ …))
|
||||
zᵢ …))])
|
||||
[(a1 b1 c1 (a2 b2 c2) a3 b3 c3)
|
||||
(check free-identifier=? #'a2 #'a3)
|
||||
(check free-identifier=? #'b2 #'b3)
|
||||
(check free-identifier=? #'c2 #'c3)
|
||||
(check (∘ not free-identifier=?) #'a1 #'a2)
|
||||
(check (∘ not free-identifier=?) #'b1 #'b2)
|
||||
(check (∘ not free-identifier=?) #'c1 #'c2)])
|
||||
(check bound-identifier=? #'a2 #'a3)
|
||||
(check bound-identifier=? #'b2 #'b3)
|
||||
(check bound-identifier=? #'c2 #'c3)
|
||||
(check (∘ not bound-identifier=?) #'a1 #'a2)
|
||||
(check (∘ not bound-identifier=?) #'b1 #'b2)
|
||||
(check (∘ not bound-identifier=?) #'c1 #'c2)])
|
||||
|
||||
(syntax-parse (syntax-parse #'(a b c)
|
||||
[(xᵢ …)
|
||||
|
@ -267,12 +267,12 @@
|
|||
#,flob
|
||||
zᵢ …))])
|
||||
[(a1 b1 c1 (a2 b2 c2) a3 b3 c3)
|
||||
(check free-identifier=? #'a2 #'a3)
|
||||
(check free-identifier=? #'b2 #'b3)
|
||||
(check free-identifier=? #'c2 #'c3)
|
||||
(check (∘ not free-identifier=?) #'a1 #'a2)
|
||||
(check (∘ not free-identifier=?) #'b1 #'b2)
|
||||
(check (∘ not free-identifier=?) #'c1 #'c2)])
|
||||
(check bound-identifier=? #'a2 #'a3)
|
||||
(check bound-identifier=? #'b2 #'b3)
|
||||
(check bound-identifier=? #'c2 #'c3)
|
||||
(check (∘ not bound-identifier=?) #'a1 #'a2)
|
||||
(check (∘ not bound-identifier=?) #'b1 #'b2)
|
||||
(check (∘ not bound-identifier=?) #'c1 #'c2)])
|
||||
|
||||
(syntax-parse (syntax-parse #'(a b c)
|
||||
[(xᵢ …)
|
||||
|
@ -281,12 +281,12 @@
|
|||
[d (quasisubtemplate (zᵢ …))])
|
||||
zᵢ …))])
|
||||
[(a1 b1 c1 (a2 b2 c2) a3 b3 c3)
|
||||
(check free-identifier=? #'a2 #'a3)
|
||||
(check free-identifier=? #'b2 #'b3)
|
||||
(check free-identifier=? #'c2 #'c3)
|
||||
(check (∘ not free-identifier=?) #'a1 #'a2)
|
||||
(check (∘ not free-identifier=?) #'b1 #'b2)
|
||||
(check (∘ not free-identifier=?) #'c1 #'c2)])
|
||||
(check bound-identifier=? #'a2 #'a3)
|
||||
(check bound-identifier=? #'b2 #'b3)
|
||||
(check bound-identifier=? #'c2 #'c3)
|
||||
(check (∘ not bound-identifier=?) #'a1 #'a2)
|
||||
(check (∘ not bound-identifier=?) #'b1 #'b2)
|
||||
(check (∘ not bound-identifier=?) #'c1 #'c2)])
|
||||
|
||||
(syntax-parse (syntax-parse #'(a b c)
|
||||
[(xᵢ …)
|
||||
|
@ -297,21 +297,21 @@
|
|||
[d (quasisubtemplate (zᵢ …))])
|
||||
zᵢ …))])
|
||||
[(a1 b1 c1 (a2 b2 c2) (a3 b3 c3) a4 b4 c4)
|
||||
(check free-identifier=? #'a2 #'a3)
|
||||
(check free-identifier=? #'b2 #'b3)
|
||||
(check free-identifier=? #'c2 #'c3)
|
||||
(check bound-identifier=? #'a2 #'a3)
|
||||
(check bound-identifier=? #'b2 #'b3)
|
||||
(check bound-identifier=? #'c2 #'c3)
|
||||
|
||||
(check free-identifier=? #'a3 #'a4)
|
||||
(check free-identifier=? #'b3 #'b4)
|
||||
(check free-identifier=? #'c3 #'c4)
|
||||
(check bound-identifier=? #'a3 #'a4)
|
||||
(check bound-identifier=? #'b3 #'b4)
|
||||
(check bound-identifier=? #'c3 #'c4)
|
||||
|
||||
(check free-identifier=? #'a2 #'a4)
|
||||
(check free-identifier=? #'b2 #'b4)
|
||||
(check free-identifier=? #'c2 #'c4)
|
||||
(check bound-identifier=? #'a2 #'a4)
|
||||
(check bound-identifier=? #'b2 #'b4)
|
||||
(check bound-identifier=? #'c2 #'c4)
|
||||
|
||||
(check (∘ not free-identifier=?) #'a1 #'a2)
|
||||
(check (∘ not free-identifier=?) #'b1 #'b2)
|
||||
(check (∘ not free-identifier=?) #'c1 #'c2)])
|
||||
(check (∘ not bound-identifier=?) #'a1 #'a2)
|
||||
(check (∘ not bound-identifier=?) #'b1 #'b2)
|
||||
(check (∘ not bound-identifier=?) #'c1 #'c2)])
|
||||
|
||||
(syntax-parse (syntax-parse #'(a b c)
|
||||
[(xᵢ …)
|
||||
|
@ -322,21 +322,21 @@
|
|||
[d (quasisubtemplate (kᵢ …))])
|
||||
zᵢ …))])
|
||||
[(a1 b1 c1 (a2 b2 c2) (a3 b3 c3) a4 b4 c4)
|
||||
(check free-identifier=? #'a2 #'a3)
|
||||
(check free-identifier=? #'b2 #'b3)
|
||||
(check free-identifier=? #'c2 #'c3)
|
||||
(check bound-identifier=? #'a2 #'a3)
|
||||
(check bound-identifier=? #'b2 #'b3)
|
||||
(check bound-identifier=? #'c2 #'c3)
|
||||
|
||||
(check (∘ not free-identifier=?) #'a1 #'a2)
|
||||
(check (∘ not free-identifier=?) #'b1 #'b2)
|
||||
(check (∘ not free-identifier=?) #'c1 #'c2)
|
||||
(check (∘ not bound-identifier=?) #'a1 #'a2)
|
||||
(check (∘ not bound-identifier=?) #'b1 #'b2)
|
||||
(check (∘ not bound-identifier=?) #'c1 #'c2)
|
||||
|
||||
(check (∘ not free-identifier=?) #'a2 #'a4)
|
||||
(check (∘ not free-identifier=?) #'b2 #'b4)
|
||||
(check (∘ not free-identifier=?) #'c2 #'c4)
|
||||
(check (∘ not bound-identifier=?) #'a2 #'a4)
|
||||
(check (∘ not bound-identifier=?) #'b2 #'b4)
|
||||
(check (∘ not bound-identifier=?) #'c2 #'c4)
|
||||
|
||||
(check (∘ not free-identifier=?) #'a3 #'a4)
|
||||
(check (∘ not free-identifier=?) #'b3 #'b4)
|
||||
(check (∘ not free-identifier=?) #'c3 #'c4)])
|
||||
(check (∘ not bound-identifier=?) #'a3 #'a4)
|
||||
(check (∘ not bound-identifier=?) #'b3 #'b4)
|
||||
(check (∘ not bound-identifier=?) #'c3 #'c4)])
|
||||
|
||||
#;(map syntax->datum
|
||||
(syntax-parse #'(a b c)
|
||||
|
@ -367,71 +367,71 @@
|
|||
[zᵢ (quasisubtemplate (zᵢ))])
|
||||
zᵢ …))])
|
||||
[(y yy yyy (d1) (d2) z zz zzz)
|
||||
(check free-identifier=? #'d1 #'d2)
|
||||
(check bound-identifier=? #'d1 #'d2)
|
||||
|
||||
(check (∘ not free-identifier=?) #'y #'yy)
|
||||
(check (∘ not free-identifier=?) #'y #'yyy)
|
||||
(check (∘ not free-identifier=?) #'y #'d1)
|
||||
(check (∘ not free-identifier=?) #'y #'d2)
|
||||
(check (∘ not free-identifier=?) #'y #'z)
|
||||
(check (∘ not free-identifier=?) #'y #'zz)
|
||||
(check (∘ not free-identifier=?) #'y #'zzz)
|
||||
(check (∘ not bound-identifier=?) #'y #'yy)
|
||||
(check (∘ not bound-identifier=?) #'y #'yyy)
|
||||
(check (∘ not bound-identifier=?) #'y #'d1)
|
||||
(check (∘ not bound-identifier=?) #'y #'d2)
|
||||
(check (∘ not bound-identifier=?) #'y #'z)
|
||||
(check (∘ not bound-identifier=?) #'y #'zz)
|
||||
(check (∘ not bound-identifier=?) #'y #'zzz)
|
||||
|
||||
(check (∘ not free-identifier=?) #'yy #'y)
|
||||
(check (∘ not free-identifier=?) #'yy #'yyy)
|
||||
(check (∘ not free-identifier=?) #'yy #'d1)
|
||||
(check (∘ not free-identifier=?) #'yy #'d2)
|
||||
(check (∘ not free-identifier=?) #'yy #'z)
|
||||
(check (∘ not free-identifier=?) #'yy #'zz)
|
||||
(check (∘ not free-identifier=?) #'yy #'zzz)
|
||||
(check (∘ not bound-identifier=?) #'yy #'y)
|
||||
(check (∘ not bound-identifier=?) #'yy #'yyy)
|
||||
(check (∘ not bound-identifier=?) #'yy #'d1)
|
||||
(check (∘ not bound-identifier=?) #'yy #'d2)
|
||||
(check (∘ not bound-identifier=?) #'yy #'z)
|
||||
(check (∘ not bound-identifier=?) #'yy #'zz)
|
||||
(check (∘ not bound-identifier=?) #'yy #'zzz)
|
||||
|
||||
(check (∘ not free-identifier=?) #'yyy #'y)
|
||||
(check (∘ not free-identifier=?) #'yyy #'yy)
|
||||
(check (∘ not free-identifier=?) #'yyy #'d1)
|
||||
(check (∘ not free-identifier=?) #'yyy #'d2)
|
||||
(check (∘ not free-identifier=?) #'yyy #'z)
|
||||
(check (∘ not free-identifier=?) #'yyy #'zz)
|
||||
(check (∘ not free-identifier=?) #'yyy #'zzz)
|
||||
(check (∘ not bound-identifier=?) #'yyy #'y)
|
||||
(check (∘ not bound-identifier=?) #'yyy #'yy)
|
||||
(check (∘ not bound-identifier=?) #'yyy #'d1)
|
||||
(check (∘ not bound-identifier=?) #'yyy #'d2)
|
||||
(check (∘ not bound-identifier=?) #'yyy #'z)
|
||||
(check (∘ not bound-identifier=?) #'yyy #'zz)
|
||||
(check (∘ not bound-identifier=?) #'yyy #'zzz)
|
||||
|
||||
(check (∘ not free-identifier=?) #'d1 #'y)
|
||||
(check (∘ not free-identifier=?) #'d1 #'yy)
|
||||
(check (∘ not free-identifier=?) #'d1 #'yyy)
|
||||
;(check (∘ not free-identifier=?) #'d1 #'d2)
|
||||
(check (∘ not free-identifier=?) #'d1 #'z)
|
||||
(check (∘ not free-identifier=?) #'d1 #'zz)
|
||||
(check (∘ not free-identifier=?) #'d1 #'zzz)
|
||||
(check (∘ not bound-identifier=?) #'d1 #'y)
|
||||
(check (∘ not bound-identifier=?) #'d1 #'yy)
|
||||
(check (∘ not bound-identifier=?) #'d1 #'yyy)
|
||||
;(check (∘ not bound-identifier=?) #'d1 #'d2)
|
||||
(check (∘ not bound-identifier=?) #'d1 #'z)
|
||||
(check (∘ not bound-identifier=?) #'d1 #'zz)
|
||||
(check (∘ not bound-identifier=?) #'d1 #'zzz)
|
||||
|
||||
(check (∘ not free-identifier=?) #'d2 #'y)
|
||||
(check (∘ not free-identifier=?) #'d2 #'yy)
|
||||
(check (∘ not free-identifier=?) #'d2 #'yyy)
|
||||
;(check (∘ not free-identifier=?) #'d2 #'d1)
|
||||
(check (∘ not free-identifier=?) #'d2 #'z)
|
||||
(check (∘ not free-identifier=?) #'d2 #'zz)
|
||||
(check (∘ not free-identifier=?) #'d2 #'zzz)
|
||||
(check (∘ not bound-identifier=?) #'d2 #'y)
|
||||
(check (∘ not bound-identifier=?) #'d2 #'yy)
|
||||
(check (∘ not bound-identifier=?) #'d2 #'yyy)
|
||||
;(check (∘ not bound-identifier=?) #'d2 #'d1)
|
||||
(check (∘ not bound-identifier=?) #'d2 #'z)
|
||||
(check (∘ not bound-identifier=?) #'d2 #'zz)
|
||||
(check (∘ not bound-identifier=?) #'d2 #'zzz)
|
||||
|
||||
(check (∘ not free-identifier=?) #'z #'y)
|
||||
(check (∘ not free-identifier=?) #'z #'yy)
|
||||
(check (∘ not free-identifier=?) #'z #'yyy)
|
||||
(check (∘ not free-identifier=?) #'z #'d1)
|
||||
(check (∘ not free-identifier=?) #'z #'d2)
|
||||
(check (∘ not free-identifier=?) #'z #'zz)
|
||||
(check (∘ not free-identifier=?) #'z #'zzz)
|
||||
(check (∘ not bound-identifier=?) #'z #'y)
|
||||
(check (∘ not bound-identifier=?) #'z #'yy)
|
||||
(check (∘ not bound-identifier=?) #'z #'yyy)
|
||||
(check (∘ not bound-identifier=?) #'z #'d1)
|
||||
(check (∘ not bound-identifier=?) #'z #'d2)
|
||||
(check (∘ not bound-identifier=?) #'z #'zz)
|
||||
(check (∘ not bound-identifier=?) #'z #'zzz)
|
||||
|
||||
(check (∘ not free-identifier=?) #'zz #'y)
|
||||
(check (∘ not free-identifier=?) #'zz #'yy)
|
||||
(check (∘ not free-identifier=?) #'zz #'yyy)
|
||||
(check (∘ not free-identifier=?) #'zz #'d1)
|
||||
(check (∘ not free-identifier=?) #'zz #'d2)
|
||||
(check (∘ not free-identifier=?) #'zz #'z)
|
||||
(check (∘ not free-identifier=?) #'zz #'zzz)
|
||||
(check (∘ not bound-identifier=?) #'zz #'y)
|
||||
(check (∘ not bound-identifier=?) #'zz #'yy)
|
||||
(check (∘ not bound-identifier=?) #'zz #'yyy)
|
||||
(check (∘ not bound-identifier=?) #'zz #'d1)
|
||||
(check (∘ not bound-identifier=?) #'zz #'d2)
|
||||
(check (∘ not bound-identifier=?) #'zz #'z)
|
||||
(check (∘ not bound-identifier=?) #'zz #'zzz)
|
||||
|
||||
(check (∘ not free-identifier=?) #'zzz #'y)
|
||||
(check (∘ not free-identifier=?) #'zzz #'yy)
|
||||
(check (∘ not free-identifier=?) #'zzz #'yyy)
|
||||
(check (∘ not free-identifier=?) #'zzz #'d1)
|
||||
(check (∘ not free-identifier=?) #'zzz #'d2)
|
||||
(check (∘ not free-identifier=?) #'zzz #'z)
|
||||
(check (∘ not free-identifier=?) #'zzz #'zz)])
|
||||
(check (∘ not bound-identifier=?) #'zzz #'y)
|
||||
(check (∘ not bound-identifier=?) #'zzz #'yy)
|
||||
(check (∘ not bound-identifier=?) #'zzz #'yyy)
|
||||
(check (∘ not bound-identifier=?) #'zzz #'d1)
|
||||
(check (∘ not bound-identifier=?) #'zzz #'d2)
|
||||
(check (∘ not bound-identifier=?) #'zzz #'z)
|
||||
(check (∘ not bound-identifier=?) #'zzz #'zz)])
|
||||
|
||||
(syntax-parse (syntax-parse #'(a b c d)
|
||||
[(_ xⱼ zᵢ …)
|
||||
|
@ -439,33 +439,33 @@
|
|||
(subtemplate ([xⱼ wⱼ] foo [zᵢ pᵢ] …)))])
|
||||
[(([x1 w1] foo1 [z1 p1] [zz1 pp1])
|
||||
([x2 w2] foo2 [z2 p2] [zz2 pp2]))
|
||||
(check free-identifier=? #'x1 #'b)
|
||||
(check free-identifier=? #'foo1 #'foo)
|
||||
(check free-identifier=? #'z1 #'c)
|
||||
(check free-identifier=? #'zz1 #'d)
|
||||
(check bound-identifier=? #'x1 #'b)
|
||||
(check bound-identifier=? #'foo1 #'foo)
|
||||
(check bound-identifier=? #'z1 #'c)
|
||||
(check bound-identifier=? #'zz1 #'d)
|
||||
|
||||
(check free-identifier=? #'x2 #'b)
|
||||
(check free-identifier=? #'foo2 #'foo)
|
||||
(check free-identifier=? #'z2 #'c)
|
||||
(check free-identifier=? #'zz2 #'d)
|
||||
(check bound-identifier=? #'x2 #'b)
|
||||
(check bound-identifier=? #'foo2 #'foo)
|
||||
(check bound-identifier=? #'z2 #'c)
|
||||
(check bound-identifier=? #'zz2 #'d)
|
||||
|
||||
(check free-identifier=? #'x1 #'x2)
|
||||
(check free-identifier=? #'w1 #'w2)
|
||||
(check free-identifier=? #'foo1 #'foo2)
|
||||
(check free-identifier=? #'z1 #'z2)
|
||||
(check free-identifier=? #'p1 #'p2)
|
||||
(check free-identifier=? #'zz1 #'zz2)
|
||||
(check free-identifier=? #'pp1 #'pp2)
|
||||
(check bound-identifier=? #'x1 #'x2)
|
||||
(check bound-identifier=? #'w1 #'w2)
|
||||
(check bound-identifier=? #'foo1 #'foo2)
|
||||
(check bound-identifier=? #'z1 #'z2)
|
||||
(check bound-identifier=? #'p1 #'p2)
|
||||
(check bound-identifier=? #'zz1 #'zz2)
|
||||
(check bound-identifier=? #'pp1 #'pp2)
|
||||
|
||||
(check (∘ not free-identifier=?) #'x1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'pp1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'pp1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'pp1)])
|
||||
(check (∘ not bound-identifier=?) #'x1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'pp1)])
|
||||
|
||||
(syntax-parse (syntax-parse #'()
|
||||
[()
|
||||
|
@ -477,33 +477,33 @@
|
|||
[(xⱼ) (subtemplate ([xⱼ wⱼ] foo [zᵢ pᵢ] …))]))])])
|
||||
[(([x1 w1] foo1 [z1 p1] [zz1 pp1])
|
||||
([x2 w2] foo2 [z2 p2] [zz2 pp2]))
|
||||
(check free-identifier=? #'x1 #'e)
|
||||
(check free-identifier=? #'foo1 #'foo)
|
||||
(check free-identifier=? #'z1 #'a)
|
||||
(check free-identifier=? #'zz1 #'b)
|
||||
(check bound-identifier=? #'x1 #'e)
|
||||
(check bound-identifier=? #'foo1 #'foo)
|
||||
(check bound-identifier=? #'z1 #'a)
|
||||
(check bound-identifier=? #'zz1 #'b)
|
||||
|
||||
(check free-identifier=? #'x2 #'e)
|
||||
(check free-identifier=? #'foo2 #'foo)
|
||||
(check free-identifier=? #'z2 #'a)
|
||||
(check free-identifier=? #'zz2 #'b)
|
||||
(check bound-identifier=? #'x2 #'e)
|
||||
(check bound-identifier=? #'foo2 #'foo)
|
||||
(check bound-identifier=? #'z2 #'a)
|
||||
(check bound-identifier=? #'zz2 #'b)
|
||||
|
||||
(check free-identifier=? #'x1 #'x2)
|
||||
(check bound-identifier=? #'x1 #'x2)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'w2) ;; yes above, no here.
|
||||
(check free-identifier=? #'foo1 #'foo2)
|
||||
(check free-identifier=? #'z1 #'z2)
|
||||
(check free-identifier=? #'p1 #'p2)
|
||||
(check free-identifier=? #'zz1 #'zz2)
|
||||
(check free-identifier=? #'pp1 #'pp2)
|
||||
(check bound-identifier=? #'foo1 #'foo2)
|
||||
(check bound-identifier=? #'z1 #'z2)
|
||||
(check bound-identifier=? #'p1 #'p2)
|
||||
(check bound-identifier=? #'zz1 #'zz2)
|
||||
(check bound-identifier=? #'pp1 #'pp2)
|
||||
|
||||
(check (∘ not free-identifier=?) #'x1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'pp1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'pp1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'pp1)])
|
||||
(check (∘ not bound-identifier=?) #'x1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'pp1)])
|
||||
|
||||
(syntax-parse (syntax-parse #'()
|
||||
[()
|
||||
|
@ -515,33 +515,33 @@
|
|||
[(xⱼ) (subtemplate ([xⱼ wⱼ] foo [zᵢ pᵢ] …))]))])])
|
||||
[(([x1 w1] foo1 [z1 p1] [zz1 pp1])
|
||||
([x2 w2] foo2 [z2 p2] [zz2 pp2]))
|
||||
(check free-identifier=? #'x1 #'e)
|
||||
(check free-identifier=? #'foo1 #'foo)
|
||||
(check free-identifier=? #'z1 #'a)
|
||||
(check free-identifier=? #'zz1 #'b)
|
||||
(check bound-identifier=? #'x1 #'e)
|
||||
(check bound-identifier=? #'foo1 #'foo)
|
||||
(check bound-identifier=? #'z1 #'a)
|
||||
(check bound-identifier=? #'zz1 #'b)
|
||||
|
||||
(check free-identifier=? #'x2 #'f) ;; above: was e, not f
|
||||
(check free-identifier=? #'foo2 #'foo)
|
||||
(check free-identifier=? #'z2 #'a)
|
||||
(check free-identifier=? #'zz2 #'b)
|
||||
(check bound-identifier=? #'x2 #'f) ;; above: was e, not f
|
||||
(check bound-identifier=? #'foo2 #'foo)
|
||||
(check bound-identifier=? #'z2 #'a)
|
||||
(check bound-identifier=? #'zz2 #'b)
|
||||
|
||||
(check (∘ not free-identifier=?) #'x1 #'x2) ;; yes above, no here.
|
||||
(check (∘ not free-identifier=?) #'w1 #'w2) ;; yes above above, no here.
|
||||
(check free-identifier=? #'foo1 #'foo2)
|
||||
(check free-identifier=? #'z1 #'z2)
|
||||
(check free-identifier=? #'p1 #'p2)
|
||||
(check free-identifier=? #'zz1 #'zz2)
|
||||
(check free-identifier=? #'pp1 #'pp2)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'x2) ;; yes above, no here.
|
||||
(check (∘ not bound-identifier=?) #'w1 #'w2) ;; yes above above, no here.
|
||||
(check bound-identifier=? #'foo1 #'foo2)
|
||||
(check bound-identifier=? #'z1 #'z2)
|
||||
(check bound-identifier=? #'p1 #'p2)
|
||||
(check bound-identifier=? #'zz1 #'zz2)
|
||||
(check bound-identifier=? #'pp1 #'pp2)
|
||||
|
||||
(check (∘ not free-identifier=?) #'x1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'pp1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'pp1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'pp1)])
|
||||
(check (∘ not bound-identifier=?) #'x1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'pp1)])
|
||||
|
||||
(syntax-parse (syntax-parse #'()
|
||||
[()
|
||||
|
@ -555,44 +555,44 @@
|
|||
(subtemplate ([xᵢ wᵢ] … foo [zᵢ pᵢ] …))]))])])
|
||||
[(([x1 w1] [xx1 ww1] foo1 [z1 p1] [zz1 pp1])
|
||||
([x2 w2] [xx2 ww2] foo2 [z2 p2] [zz2 pp2]))
|
||||
(check free-identifier=? #'x1 #'c)
|
||||
(check free-identifier=? #'xx1 #'d)
|
||||
(check free-identifier=? #'foo1 #'foo)
|
||||
(check free-identifier=? #'z1 #'a)
|
||||
(check free-identifier=? #'zz1 #'b)
|
||||
(check bound-identifier=? #'x1 #'c)
|
||||
(check bound-identifier=? #'xx1 #'d)
|
||||
(check bound-identifier=? #'foo1 #'foo)
|
||||
(check bound-identifier=? #'z1 #'a)
|
||||
(check bound-identifier=? #'zz1 #'b)
|
||||
|
||||
(check free-identifier=? #'x2 #'cc)
|
||||
(check free-identifier=? #'xx2 #'dd)
|
||||
(check free-identifier=? #'foo2 #'foo)
|
||||
(check free-identifier=? #'z2 #'a)
|
||||
(check free-identifier=? #'zz2 #'b)
|
||||
(check bound-identifier=? #'x2 #'cc)
|
||||
(check bound-identifier=? #'xx2 #'dd)
|
||||
(check bound-identifier=? #'foo2 #'foo)
|
||||
(check bound-identifier=? #'z2 #'a)
|
||||
(check bound-identifier=? #'zz2 #'b)
|
||||
|
||||
(check (∘ not free-identifier=?) #'x1 #'x2)
|
||||
(check (∘ not free-identifier=?) #'xx1 #'xx2)
|
||||
(check free-identifier=? #'w1 #'w2)
|
||||
(check free-identifier=? #'ww1 #'ww2)
|
||||
(check free-identifier=? #'foo1 #'foo2)
|
||||
(check free-identifier=? #'z1 #'z2)
|
||||
(check free-identifier=? #'p1 #'p2)
|
||||
(check free-identifier=? #'zz1 #'zz2)
|
||||
(check free-identifier=? #'pp1 #'pp2)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'x2)
|
||||
(check (∘ not bound-identifier=?) #'xx1 #'xx2)
|
||||
(check bound-identifier=? #'w1 #'w2)
|
||||
(check bound-identifier=? #'ww1 #'ww2)
|
||||
(check bound-identifier=? #'foo1 #'foo2)
|
||||
(check bound-identifier=? #'z1 #'z2)
|
||||
(check bound-identifier=? #'p1 #'p2)
|
||||
(check bound-identifier=? #'zz1 #'zz2)
|
||||
(check bound-identifier=? #'pp1 #'pp2)
|
||||
|
||||
(check (∘ not free-identifier=?) #'x1 #'xx1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'x1 #'pp1)
|
||||
(check (∘ not free-identifier=?) #'xx1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'xx1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'xx1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'xx1 #'pp1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'xx1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'p1)
|
||||
(check (∘ not free-identifier=?) #'w1 #'pp1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'xx1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'x1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'w1)
|
||||
(check (∘ not free-identifier=?) #'p1 #'pp1)])
|
||||
(check (∘ not bound-identifier=?) #'x1 #'xx1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'x1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'xx1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'xx1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'xx1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'xx1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'xx1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'p1)
|
||||
(check (∘ not bound-identifier=?) #'w1 #'pp1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'xx1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'x1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'w1)
|
||||
(check (∘ not bound-identifier=?) #'p1 #'pp1)])
|
||||
|
||||
(check-exn #px"incompatible ellipsis match counts for template"
|
||||
(λ ()
|
||||
|
@ -623,24 +623,24 @@
|
|||
(subtemplate ([xᵢ wᵢ] … tᵢ … foo [zᵢ pᵢ] …))]))])])
|
||||
[(([x1 w1] [xx1 ww1] t1 tt1 foo1 [z1 p1] [zz1 pp1])
|
||||
([x2 w2] [xx2 ww2] t2 tt2 foo2 [z2 p2] [zz2 pp2]))
|
||||
(check free-identifier=? #'x1 #'c)
|
||||
(check free-identifier=? #'xx1 #'d)
|
||||
(check free-identifier=? #'x2 #'cc)
|
||||
(check free-identifier=? #'xx2 #'dd)
|
||||
(check bound-identifier=? #'x1 #'c)
|
||||
(check bound-identifier=? #'xx1 #'d)
|
||||
(check bound-identifier=? #'x2 #'cc)
|
||||
(check bound-identifier=? #'xx2 #'dd)
|
||||
|
||||
(check free-identifier=? #'t1 #'a)
|
||||
(check free-identifier=? #'tt1 #'b)
|
||||
(check free-identifier=? #'t2 #'a)
|
||||
(check free-identifier=? #'tt2 #'b)
|
||||
(check bound-identifier=? #'t1 #'a)
|
||||
(check bound-identifier=? #'tt1 #'b)
|
||||
(check bound-identifier=? #'t2 #'a)
|
||||
(check bound-identifier=? #'tt2 #'b)
|
||||
|
||||
(check (∘ not free-identifier=?) #'x1 #'x2)
|
||||
(check free-identifier=? #'w1 #'w2)
|
||||
(check (∘ not free-identifier=?) #'xx1 #'xx2)
|
||||
(check free-identifier=? #'ww1 #'ww2)
|
||||
(check free-identifier=? #'t1 #'t2)
|
||||
(check free-identifier=? #'tt1 #'tt2)
|
||||
(check free-identifier=? #'foo1 #'foo2)
|
||||
(check free-identifier=? #'z1 #'z2)
|
||||
(check free-identifier=? #'p1 #'p2)
|
||||
(check free-identifier=? #'zz1 #'zz2)
|
||||
(check free-identifier=? #'pp1 #'pp2)])
|
||||
(check (∘ not bound-identifier=?) #'x1 #'x2)
|
||||
(check bound-identifier=? #'w1 #'w2)
|
||||
(check (∘ not bound-identifier=?) #'xx1 #'xx2)
|
||||
(check bound-identifier=? #'ww1 #'ww2)
|
||||
(check bound-identifier=? #'t1 #'t2)
|
||||
(check bound-identifier=? #'tt1 #'tt2)
|
||||
(check bound-identifier=? #'foo1 #'foo2)
|
||||
(check bound-identifier=? #'z1 #'z2)
|
||||
(check bound-identifier=? #'p1 #'p2)
|
||||
(check bound-identifier=? #'zz1 #'zz2)
|
||||
(check bound-identifier=? #'pp1 #'pp2)])
|
||||
|
|
Loading…
Reference in New Issue
Block a user