Slashdot videos: Now with more Slashdot!
We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).
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