summaryrefslogtreecommitdiff
path: root/src/lisp/test.lisp
blob: 128eecda6107e6ff2c63f73f675e452a08a43446 (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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
(in-module "clojure")

(defn f0 ())

(defn f1 (x) x)

(defn f2 (x y) y)

(defn f5 (a b c d e) (d e) (f1 a))


(defn* f01
       (())
       ((x) x))

(defn fa (x)
      (.foo x))

(defn fk (x)
      (:foo x))

(defn fl (a b c)
      (let ((d (let ((x a))
                 x)))
        d)
      (let ((e c))
        e))

(defn fl* (a b c)
      (let* ((d b)
             (e d))
        e))

(defn always (x)
      (fn () x))

(defn fletfn (x)
      (letfn ((a (b) b)
              (c (d) (a d))
              (d (x) (d a)))
             (c x)))


(defn fif (a b x y z)
      (if a
           (if (if x y z)
               y
             z)
         b))

(defn fr (a b & c) c)

(defn fnot (x y z)
      (if (not x)
          (not y)
        (not z)))

(defn forf (x y z)
      (if (or x y)
          x
        (or x y z)))


(defn fand (x y z)
      (if (and x y)
          x
        (and x y z)))

(defn fset (x y z)
      (set x a)
      (set b y)
      (if (set (:foo x) z)
          (set (.bar y) z)
        (set (foo x y) z)))

(defn fdo (a b c)
      (do ((a b a)
           (b c b))
          (c)
        a b c)
      (do ((a b a)
           (b c b))
          (c b)
        a b c))

(defn fg (x)
      y)