I also bet that you only read the summary.
Link to Original Source
the strange syntax
S-expression is more like the textual representation of Lisp's abstract syntax tree than syntax. In the past Lisp had something more like a conventional syntax (M-expression) which (if I remember correctly) compiled into s-expression, but somehow people still liked s-expression better.
Scheme does provide accessor for record type. Well I would love to have a reader macro and define something more concise like a.x, but too bad reader macro is not standard. The comparable code with that pseudo Scheme code of yours would be something like
(define (point3-add a b)
(+ (point3-x a) (point3-x b))
(+ (point3-y a) (point3-y b))
(+ (point3-z a) (point3-z b))))
I bet those who appreciate s-expression can comprehend this code with just a glance. I find that s-expressions are rather easy to parse by (my) human eyes provided they are properly indented.
(let ((fx (lambda(y) expr