blob: 946cbf2e2cfd33604322607d38ac9adc2d773e12 (
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
|
@(do
(progn
(defmacro rem-num (:env menv some-form)
(let ((expanded (macroexpand some-form menv)))
(if (numberp (car expanded))
(cdr expanded)
some-form)))
(prinl
(macrolet ((foo () '(1 list 42))
(bar () '(list 'a)))
(symacrolet ((x (bar)))
(list (rem-num (foo)) (rem-num x)))))
(prinl
(let ((x 0) (y 1))
(symacrolet ((a x) (b y))
(flet ((x (. args) [apply list args]))
[x y]))))
(prinl
(let ((x 0))
(symacrolet ((a (inc x)))
(list
(let* ((a a)
(b a))
(list a b))
(let ((a a)
(b a))
(list a b))))))))
|