Let me take the opportunity to plug a new language which I have spent the last 5 months designing: github.com/jbodeen/ava
An ava solution -- 9 lines of code, and 1 set of parentheses -- would look like this:
let rec sum list =
let are_we_at_the_end = 0 in
let take_a_number_and_the_rest_of_the_list n list =
add n ( sum list )
in
list
are_we_at_the_end
take_a_number_and_the_rest_of_the_list
in
Maybe we need to zoom out of ancient languages into more intuitive paradigms if programming is to become easier for more people to access