it's all just lists.
Yes, Lisp code is made up of lists.
But it seems like there are so many special constructs and macros, that make it hard to read.
(loop for i in '(1 2 3)
Common Lisp is a "programmable programming language" meaning that it's possible to make macros like the loop macro that aren't even what many consider "Lispy" - lots of people who otherwise like Common Lisp dislike the loop macro. But, it's a good example of a DSL and how far you can go with making one. Of course, there are other ways to do iteration besides loop, both standard built-in forms such as do or dolist, and even 3rd party libraries like series or iterate.
Also, when macros are expanded they resolve to lists - even the loop macro.
OTOH, something like MIT Scheme which was used in SICP is a much simpler Lisp compared to CL.
Comments
Common Lisp is a "programmable programming language" meaning that it's possible to make macros like the loop macro that aren't even what many consider "Lispy" - lots of people who otherwise like Common Lisp dislike the loop macro. But, it's a good example of a DSL and how far you can go with making one. Of course, there are other ways to do iteration besides loop, both standard built-in forms such as do or dolist, and even 3rd party libraries like series or iterate.
Also, when macros are expanded they resolve to lists - even the loop macro.
OTOH, something like MIT Scheme which was used in SICP is a much simpler Lisp compared to CL.