Add let bindings
[scheme.git] / ast.scm
1 (define (app? x)
2   (and (list? x)
3        (>= (length x) 2)
4        (not (eq? (car x) 'let))
5        (not (eq? (car x) 'lambda))))
6
7 (define (let? x)
8   (and (list? x) (eq? (car x) 'let)))
9
10 (define let-bindings cadr)
11 (define let-body cddr)
12
13 (define (lambda? x)
14   (and (list? x) (eq? (car x) 'lambda)))
15
16 (define lambda-arg cadr)
17 (define lambda-body cddr)
18
19 (define (var? x)
20   (and (not (list? x)) (symbol? x)))