Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defun syncer-create-test-repo (repo-symbol initial-elements)
- "Create a test repository under REPO-SYMBOL with INITIAL-ELEMENTS."
- (set repo-symbol
- (list
- (cons 'get-all
- (lambda () (get repo-symbol 'elements)))
- (cons 'put-element
- (lambda (el) (put
- repo-symbol
- 'elements
- (append (get repo-symbol 'elements) (list el)))))
- (cons 'get-element
- (lambda (id) (car (remove-if
- (lambda (el)
- (not (eq id (cdr (assoc 'ID el)))))
- (get repo-symbol 'elements)))))
- (cons 'delete-element
- (lambda (id)
- (put
- repo-symbol
- 'elements
- (remove-if
- (lambda (el)
- (eq id (cdr (assoc 'ID el))))
- (get repo-symbol 'elements)))))
- ))
- )
- (syncer-create-test-repo 'repo-a '( ((ID A)) ((ID B)) ((ID C))) )
- (syncer-create-test-repo 'repo-b '( ((ID D)) ((ID E)) ((ID F))) )
- (syncer-create-test-repo 'repo-status '( ((ID D)) ((ID F)) ))
- (funcall (cdr(assoc 'get-all repo-a)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement