[hunchentoot-devel] Hunchentoot Recursive Function

Phil Marneweck zaries at global.co.za
Wed Dec 16 12:18:10 UTC 2009


Just a correction this code is the code that actually created the 
Recursive count- 0 and not the previous code...the previous code is
actualy the code that gives the correct output

(defun recursive-test (count)
  (with-html-output (*standard-output*)   
    (if (< count 10)
        (recursive-test (+ count 1)))
    (str (format nil "Recursive count- ~A" count))))


(define-easy-handler (test-recursive :uri
"/test.html" :default-request-type :both) () 
    (with-html-output-to-string (*standard-output*)
      (str (recursive-test 0))))

On Wed, 2009-12-16 at 14:03 +0200, Phil Marneweck wrote:
> Ok I got some help in #lisp 
> 
> I now have the following:
> 
> (defun recursive-test (count)
>   (with-html-output (*standard-output*)
>     (if (< count 10)
>         (recursive-test (+ count 1)))
>    
>         (str (format nil "Recursive count- ~A" count))))
> 
> (define-easy-handler (test-recursive :uri
> "/test.html" :default-request-type :both) () 
>     (with-html-output-to-string (*standard-output*)
>       (recursive-test 0)))
> 
> Which gives me:
> 
> Recursive count- 10Recursive count- 9Recursive count- 8Recursive count-
> 7Recursive count- 6Recursive count- 5Recursive count- 4Recursive count-
> 3Recursive count- 2Recursive count- 1Recursive count- 0Recursive count-
> 0
> 
> Why do I get 2 Recursive count- 0?
> 
> Is this hunchentoot or am I not understanding recursion in lisp?
> 
> 
> On Wed, 2009-12-16 at 13:20 +0200, Phil Marneweck wrote:
> > This is most likely a problem with my understanding of lisp and not
> > hunchnetoot.
> > 
> > Why does the following function only out put "Recursive count- 0" to the
> > hunchentoot page?
> > 
> > (defun recursive-test (count)
> >   (with-html-output-to-string (*standard-output*)
> >     (if (< count 10)
> >         (recursive-test (+ count 1)))
> >     (str (format nil "Recursive count- ~A" count))))
> > 
> > (define-easy-handler (test-recursive :uri "/test.html" () 
> >     (with-html-output-to-string (*standard-output*)
> >       (str (recursive-test 0))))
> > 
> > 
> > _______________________________________________
> > tbnl-devel site list
> > tbnl-devel at common-lisp.net
> > http://common-lisp.net/mailman/listinfo/tbnl-devel
> 
> 
> 
> _______________________________________________
> tbnl-devel site list
> tbnl-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/tbnl-devel






More information about the Tbnl-devel mailing list