>>108562871
>For some reason I thought ultralisp automatically pulled in things in quicklisp too, so if you distribute on quicklisp then it's also on ultralisp without having to do anything. Is that actually the case?
>The Data
Let's start by setting up some data to play with.
;; lang: lisp
;; get dists
(defparameter ql-dist (ql-dist:find-dist "quicklisp"))
(defparameter ul-dist (ql-dist:find-dist "ultralisp"))
;; get system names
(defparameter ql-names (mapcar #'ql-dist:name (ql:provided-systems ql-dist)))
(defparameter ul-names (mapcar #'ql-dist:name (ql:provided-systems ul-dist)))
>How many systems exist?
;; lang: lisp
(list
;; number of systems in quicklisp
(length ql-names)
;; number of systems in ultralisp
(length ul-names))
Results:
(6207 6882)
>How many systems do they have in common?
;; lang: lisp
;; number of systems in common between quicklisp and ultralisp
(length (intersection ql-names ul-names :test #'string=))
Results:
3441 (12 bits, #xD71)
>How many systems are unique to each distribution?
;; lang: lisp
(list
;; # of systems only in quicklisp
(length (set-difference ql-names ul-names :test #'string=))
;; # of systems only in ultralisp
(length (set-difference ul-names ql-names :test #'string=)))
Results:
(2766 3441)
They are quite different. I expected there to be much more overlap between quicklisp and ultralisp, but the data revealed otherwise.