REF: renamed 'assert-eq?' into 'assert='.

main
bog 2023-09-13 11:33:57 +02:00
parent d8025d967f
commit 8fa9957575
8 changed files with 109 additions and 109 deletions

View File

@ -1,30 +1,30 @@
($ a [1 true 2])
(assert-eq? 1 (ref a 0))
(assert-eq? true (ref a 1))
(assert-eq? 2 (ref a 2))
(assert= 1 (ref a 0))
(assert= true (ref a 1))
(assert= 2 (ref a 2))
($ b [[2 4 6] [8 10 12] [14 16 18]])
(assert-eq? 12 (ref b 1 2))
(assert= 12 (ref b 1 2))
(assert-eq? true (empty? []))
(assert-eq? false (empty? [1]))
(assert= true (empty? []))
(assert= false (empty? [1]))
(assert-eq? 7 (head [7 3 1]))
(assert-eq? 3 (ref (tail [7 3 1]) 0))
(assert-eq? 1 (ref (tail [7 3 1]) 1))
(assert= 7 (head [7 3 1]))
(assert= 3 (ref (tail [7 3 1]) 0))
(assert= 1 (ref (tail [7 3 1]) 1))
($ (c arr)
(if (empty? arr)
0
(+ (head arr) (c (tail arr)))))
(assert-eq? 13 (c [2 4 6 1]))
(assert= 13 (c [2 4 6 1]))
($ d (cons 2 (cons 4 [6])))
(assert-eq? 2 (ref d 0))
(assert-eq? 4 (ref d 1))
(assert-eq? 6 (ref d 2))
(assert= 2 (ref d 0))
(assert= 4 (ref d 1))
(assert= 6 (ref d 2))
(assert-eq? 3 (len d))
(assert-eq? 4 (len (cons 18 d)))
(assert= 3 (len d))
(assert= 4 (len (cons 18 d)))

View File

@ -1,18 +1,18 @@
(assert-eq? 6 (: 2 4 6))
(assert-eq? 9 (: 2 4 (: 3 0 9)))
(assert= 6 (: 2 4 6))
(assert= 9 (: 2 4 (: 3 0 9)))
(:
($ a 4)
(assert-eq? 4 a)
(assert= 4 a)
(set! a 42)
(assert-eq? 42 a)
(assert= 42 a)
(:
($ a 7)
(assert-eq? 7 a)
(assert= 7 a)
(set! a 32)
(assert-eq? 32 a)
(assert= 32 a)
)
(assert-eq? 42 a)
(assert= 42 a)
)

View File

@ -1,19 +1,19 @@
(assert-eq? false (not true))
(assert-eq? true (not false))
(assert-eq? false (not (not false)))
(assert= false (not true))
(assert= true (not false))
(assert= false (not (not false)))
(assert-eq? true (and true true))
(assert-eq? false (and true false))
(assert-eq? false (and false true))
(assert-eq? false (and false false))
(assert= true (and true true))
(assert= false (and true false))
(assert= false (and false true))
(assert= false (and false false))
(assert-eq? true (and true true true true true))
(assert-eq? false (and true true true true false))
(assert= true (and true true true true true))
(assert= false (and true true true true false))
(assert-eq? true (or true true))
(assert-eq? true (or true true))
(assert-eq? true (or true true))
(assert-eq? false (or false false))
(assert= true (or true true))
(assert= true (or true true))
(assert= true (or true true))
(assert= false (or false false))
(assert-eq? false (or false false false false false))
(assert-eq? true (or false false true false false))
(assert= false (or false false false false false))
(assert= true (or false false true false false))

View File

@ -1,31 +1,31 @@
;; declare lambda
($ a (-> (x) (* x 2)))
(assert-eq? 14 (a 7))
(assert= 14 (a 7))
;; high order function
($ b (-> (x y) (x (x y))))
(assert-eq? 12 (b a 3))
(assert= 12 (b a 3))
;; calling function literal
(assert-eq? 7 ( (-> (x y) (+ x y 1)) 2 4 ))
(assert= 7 ( (-> (x y) (+ x y 1)) 2 4 ))
;; syntaxic sugar for function declaration
($ (c n) (* 2 n))
(assert-eq? 18 (c 9))
(assert= 18 (c 9))
;; inner variable
($ (d x) ($ y 3) (+ x y))
(assert-eq? 7 (d 4))
(assert= 7 (d 4))
;; recursivity
($ (e n)
(if (eq? 0 n) 1
(* n (e (- n 1)))))
(assert-eq? 120 (e 5))
(assert= 120 (e 5))
;; self keyword
(assert-eq? 720 ((-> (x)
(assert= 720 ((-> (x)
(if (eq? x 0)
1
(* x (self (- x 1))))) 6))
@ -35,21 +35,21 @@
($ (inner n) (+ n 1))
(inner (inner n)))
(assert-eq? 3 (f 1))
(assert= 3 (f 1))
;; return function
($ (g)
($ (inner n) (* 7 n))
inner)
(assert-eq? 42 ( (g) 6 ))
(assert= 42 ( (g) 6 ))
;; return lambda
($ (h)
(-> (n)
(* 3 (- n 2))))
(assert-eq? 15 ( (h) 7 ))
(assert= 15 ( (h) 7 ))
;; closure
($ (i init)
@ -61,17 +61,17 @@
($ j (i 0))
($ k (i 16))
(assert-eq? 0 (j))
(assert-eq? 16 (k))
(assert-eq? 17 (k))
(assert-eq? 1 (j))
(assert-eq? 2 (j))
(assert-eq? 18 (k))
(assert-eq? 19 (k))
(assert-eq? 3 (j))
(assert-eq? 4 (j))
(assert-eq? 5 (j))
(assert-eq? 20 (k))
(assert= 0 (j))
(assert= 16 (k))
(assert= 17 (k))
(assert= 1 (j))
(assert= 2 (j))
(assert= 18 (k))
(assert= 19 (k))
(assert= 3 (j))
(assert= 4 (j))
(assert= 5 (j))
(assert= 20 (k))
($ m 1)
($ (n)
@ -84,12 +84,12 @@
($ o (n))
($ p (n))
(assert-eq? 2 (o))
(assert-eq? 4 (o))
(assert-eq? 6 (o))
(assert= 2 (o))
(assert= 4 (o))
(assert= 6 (o))
(assert-eq? 2 (p))
(assert-eq? 4 (p))
(assert-eq? 6 (p))
(assert= 2 (p))
(assert= 4 (p))
(assert= 6 (p))
(assert-eq? 1 m)
(assert= 1 m)

View File

@ -1,5 +1,5 @@
(assert-eq? 7 (if true 7 9))
(assert-eq? 9 (if false 7 9))
(assert= 7 (if true 7 9))
(assert= 9 (if false 7 9))
($ (max x y)
(if (> x y)
@ -7,5 +7,5 @@
y
))
(assert-eq? 32 (max 3 32))
(assert-eq? 329 (max 329 32))
(assert= 32 (max 3 32))
(assert= 329 (max 329 32))

View File

@ -1,47 +1,47 @@
(assert-eq? 7 7)
(assert= 7 7)
(assert-eq? 0 (+))
(assert-eq? 3 (+ 3))
(assert-eq? 5 (+ 2 3))
(assert= 0 (+))
(assert= 3 (+ 3))
(assert= 5 (+ 2 3))
(assert-eq? 0 (-))
(assert-eq? -3 (- 3))
(assert-eq? -1 (- 2 3))
(assert-eq? 5 (- 8 3))
(assert= 0 (-))
(assert= -3 (- 3))
(assert= -1 (- 2 3))
(assert= 5 (- 8 3))
(assert-eq? 1 (*))
(assert-eq? 6 (* 3 2))
(assert-eq? 120 (* 1 2 3 4 5))
(assert= 1 (*))
(assert= 6 (* 3 2))
(assert= 120 (* 1 2 3 4 5))
(assert-eq? 1 (/))
(assert-eq? 6 (/ 6))
(assert-eq? 3 (/ 6 2))
(assert-eq? 2 (/ 12 2 3))
(assert= 1 (/))
(assert= 6 (/ 6))
(assert= 3 (/ 6 2))
(assert= 2 (/ 12 2 3))
(assert-eq? 1 (%))
(assert-eq? 3 (% 7 4))
(assert-eq? 2 (% 13 7 4))
(assert= 1 (%))
(assert= 3 (% 7 4))
(assert= 2 (% 13 7 4))
(assert-eq? 1 (^))
(assert-eq? 2 (^ 2))
(assert-eq? 8 (^ 2 3))
(assert-eq? 64 (^ 2 3 2))
(assert= 1 (^))
(assert= 2 (^ 2))
(assert= 8 (^ 2 3))
(assert= 64 (^ 2 3 2))
(assert-eq? true (< 5 10))
(assert-eq? false (< 5 5))
(assert-eq? false (< 5 3))
(assert= true (< 5 10))
(assert= false (< 5 5))
(assert= false (< 5 3))
(assert-eq? true (<= 5 10))
(assert-eq? true (<= 5 5))
(assert-eq? false (<= 5 3))
(assert= true (<= 5 10))
(assert= true (<= 5 5))
(assert= false (<= 5 3))
(assert-eq? true (> 15 10))
(assert-eq? false (> 15 15))
(assert-eq? false (> 15 37))
(assert= true (> 15 10))
(assert= false (> 15 15))
(assert= false (> 15 37))
(assert-eq? true (>= 15 10))
(assert-eq? true (>= 15 15))
(assert-eq? false (>= 15 37))
(assert= true (>= 15 10))
(assert= true (>= 15 15))
(assert= false (>= 15 37))
(assert-eq? true (ne? 5 8))
(assert-eq? false (ne? 5 5))
(assert= true (ne? 5 8))
(assert= false (ne? 5 5))

View File

@ -1,10 +1,10 @@
($ a 1)
(set! a 2)
(assert-eq? 2 a )
(assert= 2 a )
($ (b x) (+ x 1))
($ (c x) (* x 2))
($ d b)
(assert-eq? 3 (d 2))
(assert= 3 (d 2))
(set! d c)
(assert-eq? 4 (d 2))
(assert= 4 (d 2))

View File

@ -390,7 +390,7 @@ extern "C" void lib_assert(grino::Loader& loader)
return grino::Value::make_bool(args.front()->loc(), true);
});
loader.add_native("assert-eq?", [](auto args){
loader.add_native("assert=", [](auto args){
auto lhs = args.front();
for (size_t i=1; i<args.size(); i++)