Let's assume we have a 16-bit computer with 4 words of memory (= 8 bytes, really underpowered!) that we can store variables in. Let's label them 01-04 and write out what's in them in binary:
Memory 00: 0000 01: 0000 02: 0000 03: 0000
In Lisp, we use brackets to determine where an expression starts and ends. This looks weird and adds a lot of cluttering brackets. Can we get rid of them?
Suggestion: Each form has an arity (which can be *); the parser uses left-to-right parsing to determine where an expression starts and finishes.
+ is a 2-form, and numerics are values (1-form):
+ 2 2 # => (+ 2 2)