Skip to content

Instantly share code, notes, and snippets.

@furushchev
Created July 25, 2018 00:43
Show Gist options
  • Save furushchev/1b556854fdb338d13e18aae144492ff3 to your computer and use it in GitHub Desktop.
Save furushchev/1b556854fdb338d13e18aae144492ff3 to your computer and use it in GitHub Desktop.
stable sort test
(defclass obj
:slots (num))
(defmethod obj
(:init (n) (setq num n))
(:num () num))
(setq l (list
(instance obj :init 1)
(instance obj :init 2)
(instance obj :init 2)
(instance obj :init 3)))
(pprint l)
(setq s (sort l #'< #'(lambda (x) (send x :num))))
(pprint s)
(setq s (sort l #'< #'(lambda (x) (send x :num))))
(pprint s)
(setq s (sort l #'< #'(lambda (x) (send x :num))))
(pprint s)
(setq s (sort l #'< #'(lambda (x) (send x :num))))
(pprint s)
(setq s (sort l #'< #'(lambda (x) (send x :num))))
(pprint s)
;; $ eus stable-sort-test.l
;; (#<obj #X5056460> #<obj #X50565f8> #<obj #X5046a10> #<obj #X5046ba8>)
;; (#<obj #X5056460> #<obj #X5046a10> #<obj #X50565f8> #<obj #X5046ba8>)
;; (#<obj #X5056460> #<obj #X50565f8> #<obj #X5046a10> #<obj #X5046ba8>)
;; (#<obj #X5056460> #<obj #X5046a10> #<obj #X50565f8> #<obj #X5046ba8>)
;; (#<obj #X5056460> #<obj #X50565f8> #<obj #X5046a10> #<obj #X5046ba8>)
;; (#<obj #X5056460> #<obj #X5046a10> #<obj #X50565f8> #<obj #X5046ba8>)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment