Using recursion: (define (cum-sums xs) (let run ((xs xs) (sum 0)) (if (null? xs) '() (let ((sum (+ sum (car xs)))) (cons sum (run (cdr xs) sum))))))
Using map: (define (cum-sums xs) (define sum 0) (define (add x) (set! sum (+ sum x)) sum) (map add xs)) > (cum-sums '(1 3 5 7)) '(1 4 9 16) -------------------------------------------- On Thu, 1/22/15, Alexandr M <rus...@gmail.com> wrote: Subject: [racket] Calculating cumulative sum of the list To: users@racket-lang.org Date: Thursday, January 22, 2015, 7:53 AM Hello, I am trying to replicate functionality of this code in Python: https://gist.github.com/m-blog/22b7c5d31b3839ffba50#file-cumsum-py in Racket without usage of any libraries. What would the most optimal / concise way to do it in Racket? Thank you. -- Best regards, Alex -----Inline Attachment Follows----- ____________________ Racket Users list: http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users