guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: why I love scheme


From: Nala Ginrut
Subject: Re: why I love scheme
Date: Wed, 15 Dec 2021 09:21:47 +0800

I see your point.
Yes, continuation (CPS) is pretty cool to replace the hidden stack magic
for recursive algorithms. :-)

Best regards.



On Wed, Dec 15, 2021, 07:45 Stefan Israelsson Tampe <stefan.itampe@gmail.com>
wrote:

> Maybe you think the below program is trivial, but I adore named let's so
> much that I just cannot fathom that when people go functional they totally
> miss this beauty
>
>
> (define (count tree)
>
> ;; s = total sum up to now
>
> ;; t = tree of the type (car = child . cdr = siblings)
>
> ;; cont is the continuation, (cont 10) will continue
>
> ;; the calculation with the sum=10 see how we initiate
>
> ;; with a continuation that evaluates returns it's argument
>
>
> (let loop ((s 0) (t tree) (cont (lambda (s) s)))
>
> (if (pair? t)
>
> (loop s (car t) (lambda (s) (loop s (cdr t) cont)))
>
> (cont (if (number? t) t 0))))
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]