Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defun take (n list)
- (if (= n 0) NIL (cons (car list) (take (- n 1) (cdr list)))))
- (defun slice(n list)
- (if (equal list NIL) NIL (cons (take n list) (slice n (nthcdr n list)))))
- (defun msort(list pred)
- (cond ((not (consp (car list)))
- (msort (slice 1 list) pred))
- ((equal (cdr list) NIL)
- (car list))
- (t
- (msort (mapcar (lambda (l) (merge 'list (car l) (cadr l) pred))
- (slice 2 list))
- pred))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement