Loops vs Recursion: a LISP example

Most programmers are comfortable with loops. I think that is because loops are a necessary flow construct in most imperative programming languages. But when doing high level programming, recursion has several key advantages: logic is more precise and short code is more expressive there is no or minimal overhead where potential bugs could occur logic […]