[racket] idiomatic and fast

From: Joe Gilray (jgilray at gmail.com)
Date: Sat Apr 28 15:54:31 EDT 2012


I'm trying to come up with the most idiomatic way to generate triangle
numbers that is also fast:

(for/list ([i (in-range 2 22)]) (for/sum ([j (in-range i)]) j))

works but is slow because it regenerates the sums each time

(define s 0) (for/list ([i (in-range 1 21)]) (set! s (+ s i)) s)

is fast, but ugly.

How do I keep the sum in an idiomatic fashion?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20120428/c8f39867/attachment.html>

Posted on the users mailing list.