>>3
;;; nicely looking but conses a bit
(defun flatten (list)
(mapcan #'(lambda (e) (if (consp e) (flatten e) (list e))) list))
;;; about 1.5 times as faster as the previous one, but uglier
(defun flatten (e)
(let (r)
(labels ((rec (x)
(cond
((consp x)
(rec (car x))
(let ((y (cdr x)))
(when y (rec y))))
(t (push x r)))))
(rec e)
(nreverse r))))
>>9
Who the hell uses GCL, that's some non-standard crappy implementation. However, I'd say if you put everything together, it will take a few hundred MB: Emacs, SLIME, Paredit, a couple Lisp implementations like SBCL, CCL, CLISP, a lot of ASDF libraries that you might want to use... takes about 600mb here including the installation tarballs, and various temporary files. If I only take into account installation tarballs, it's about ~50MB for the basics, libraries not included. Who cares about HDD space these days anyway? I have a couple of TB, and most of it is wasted by all kinds of media, software barely takes any space at all compared to that.