List algorithm in interactive tutorial gives error

Started by bluenote, November 28, 2014, 05:50:09 PM

Previous topic - Next topic

bluenote

Hi There,



The generic list algorithm in the http://www.newlisp.org/newLISP_in_21_minutes.html">interactive tutorialproduces an error when I try to evaluate it.



I was able to fix up the code and get it working (provided below) as per the spirit of the tutorial. Perhaps that tutorial is out of date to newer language features or something.





Old non-working code
(define (list-length a-list)
(if (first a-list)
  (+ 1 (list-length (rest a-list)))
  0))


My modified version which seems to work


(define (list-length a-list)
(if a-list
  (+ 1 (list-length (rest a-list)))
  0))

Lutz

#1
Thanks for the correction - now http://www.newlisp.org/newLISP_in_21_minutes.html">online. The change should have been made in 2008 when the empty list would would now be taken as Boolean false by if and first on an empty list returned now an error.