Jag skriver:
>                       Att författaren därtill inte verkar ha
> förstått till fullo vad DEFVAR faktiskt gör är skrämmande.

Lite fånigt exempel i det lilla, men tänk dig en medelstor till
brutal-stor kodbas (10-200 kodfiler, 50 KB-någon GB kod):

   ;;(defvar incr 0)
   
   (defun make-incrementer (base &optional (incr 1))
     (lambda () (incf base incr)))
   
   (format t "Test result: ~a~%"
           (let ((fun (make-incrementer 1)))
             (loop for i from 1 to 10
                   collect (funcall fun))))

Tryck i en fil och kör. Tag sedan bort kommentaren innan defvar och
kör. Att glatt säga "det finns en kodkonvention, men jag tycker den är
ful, så jag ignorerar den" i ett introduktionsmaterial, där resultatet
av att INTE anamma konventionen är ypperst svårfunna buggar är, i min
mening, inte försvarbart.

//Ingvar


_______________________________________________
Lisp mailing list
Lisp@lisp.se
http://mailman.nocrew.org/cgi-bin/mailman/listinfo/lisp

Till