Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define first car)
- (define second cadr)
- (define rest cdr)
- (define (third list) (car (cddr list)))
- (define fourth cadddr)
- (define initmap '())
- (define test
- (list (list 'a 1) (list 'b 3))
- )
- (define (lookup map key default)
- (cond
- ((eq? '() map) default)
- ((eq? (first (first map)) key) (second (first map)))
- (#t (lookup (rest map) key default))
- )
- )
- (define (add map key val)
- (cons (list key val) (delete map key))
- )
- (define (delete map key)
- (delete-help map key '())
- )
- (define (delete-help map key before)
- (cond
- ((eq? map '()) before)
- ((eq? (first (first map)) key) (append before (rest map))) ;key to delete found
- (#t (delete-help (rest map) key (cons (first map) before))) ;this is not meant to be deleted
- )
- )
Add Comment
Please, Sign In to add comment