aboutsummaryrefslogtreecommitdiffstats
path: root/examples/lists.bdl
blob: 36063d6d480bcc173ce01a2cae49c684ead04ac3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
;;
;; List operations.
;;

;; List function.
(print "(list) -> ") (list) (newline)
(print "(list 1) -> ") (list 1)
(print "(list 1 2) -> ") (list 1 2)
(print "(list 1 2 3) -> ") (list 1 2 3)
(print "(list 4 5 (+ 1 2 3)) -> ") (list 4 5 (+ 1 2 3))

;; Car/cdr.
(print "(car (list 1 2 3)) -> ") (car (list 1 2 3))
(print "(cdr (list 1 2 3)) -> ") (cdr (list 1 2 3))
(print "(car (list (* 10 20) (+ 1 2 3) 50 60)) -> ") (car (list (* 10 20) (+ 1 2 3) 50 60))
(print "(cdr (list (* 10 20) (+ 1 2 3) 50 60)) -> ") (cdr (list (* 10 20) (+ 1 2 3) 50 60))
(print "(car (cdr (list (* 10 20) (+ 1 2 3) 50 60))) -> ") (car (cdr (list (* 10 20) (+ 1 2 3) 50 60)))

;; Pairs construction.
(print "(cons 1 2) -> ") (cons 1 2)
(print "(cons \"a\" \"b\") -> ") (cons "a" "b")
(print "(cons \"a\" (cons \"c\" ())) -> ") (cons "a" (cons "c" ()))
(print "(cons 1 (cons 2 (cons (+ 1 2) ()))) -> ") (cons 1 (cons 2 (cons (+ 1 2) ())))
(print "(cons 1 (cons 2 (cons (+ 1 2) 4))) -> ") (cons 1 (cons 2 (cons (+ 1 2) 4)))