aboutsummaryrefslogtreecommitdiffstats
path: root/examples/lists.bdl
diff options
context:
space:
mode:
Diffstat (limited to 'examples/lists.bdl')
-rw-r--r--examples/lists.bdl24
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)))