diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/lists.bdl | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/examples/lists.bdl b/examples/lists.bdl new file mode 100644 index 0000000..4a27005 --- /dev/null +++ b/examples/lists.bdl | |||
@@ -0,0 +1,24 @@ | |||
1 | ;; | ||
2 | ;; List operations. | ||
3 | ;; | ||
4 | |||
5 | ;; List function. | ||
6 | (print "(list) -> ") (list) | ||
7 | (print "(list 1) -> ") (list 1) | ||
8 | (print "(list 1 2) -> ") (list 1 2) | ||
9 | (print "(list 1 2 3) -> ") (list 1 2 3) | ||
10 | (print "(list 4 5 (+ 1 2 3)) -> ") (list 4 5 (+ 1 2 3)) | ||
11 | |||
12 | ;; Car/cdr. | ||
13 | (print "(car (list 1 2 3)) -> ") (car (list 1 2 3)) | ||
14 | (print "(cdr (list 1 2 3)) -> ") (cdr (list 1 2 3)) | ||
15 | (print "(car (list (* 10 20) (+ 1 2 3) 50 60)) -> ") (car (list (* 10 20) (+ 1 2 3) 50 60)) | ||
16 | (print "(cdr (list (* 10 20) (+ 1 2 3) 50 60)) -> ") (cdr (list (* 10 20) (+ 1 2 3) 50 60)) | ||
17 | (print "(car (cdr (list (* 10 20) (+ 1 2 3) 50 60))) -> ") (car (cdr (list (* 10 20) (+ 1 2 3) 50 60))) | ||
18 | |||
19 | ;; Pairs construction. | ||
20 | (print "(cons 1 2) -> ") (cons 1 2) | ||
21 | (print "(cons \"a\" \"b\") -> ") (cons "a" "b") | ||
22 | (print "(cons \"a\" (cons \"c\" ())) -> ") (cons "a" (cons "c" ())) | ||
23 | (print "(cons 1 (cons 2 (cons (+ 1 2) ()))) -> ") (cons 1 (cons 2 (cons (+ 1 2) ()))) | ||
24 | (print "(cons 1 (cons 2 (cons (+ 1 2) 4))) -> ") (cons 1 (cons 2 (cons (+ 1 2) 4))) | ||