Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define copy-lumbda2
- (lambda (z)
- (dmatch z
- [,expr (guard (null? expr)) expr]
- [,expr (guard (and (list? expr)(not (null? expr))(equal? (car expr) 'lambda))) (cons 'lumbda (copy-lumbda2 (cdr z)))]
- [,expr (guard (and (list? expr)(not (null? expr))(list? (car expr)))) (cons (copy-lumbda2 (car expr)) (copy-lumbda2 (cdr expr)))]
- [,expr (guard (and (list? expr)(not (null? expr))(not (list? (car expr)))(not (null? expr))(not (equal? (car expr) 'lambda)))) (cons (car z) (copy-lumbda2 (cdr z)))]
- [,expr (guard (or (symbol? expr)(number? expr ))) expr])))
Add Comment
Please, Sign In to add comment