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.
Your Scheme code uses pattern matching so that's not comparable to the pseudo Scheme stuff, which just uses simple accessor.
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) (make-point3 (+ (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.
Good point, but you got it wrong from the very beginning though: it's not ``since it's old it's stable'', it's ``since it's in Debian stable, it's stable''.
Ballmer is not a computer scientist since he should be using WP, and if he is not a computer scientist, why the bloody hell does he have a right to evaluate operating systems?
Meanwhile in Finland, Linus Torvald is writing one of the very rigorous stuff that is the Linux kernel mainly in C and some critical parts in Assembly.
``Polymorphism'' is not OOP's exclusive characteristic, you know. But I suspect the Polynesian might be behind the development of System F.
We conjure the spirits of the computer with our spells?
I also bet that you only read the summary.
http://worrydream.com/dbx/
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.
Your Scheme code uses pattern matching so that's not comparable to the pseudo Scheme stuff, which just uses simple accessor.
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)
(make-point3
(+ (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.
(lambda(x) ...)))
;;put your 10 to 20 loc here
...))
(let ((fx (lambda(y) expr
expr
I actually thought ``Forth'' the moment I saw the title.
Good point, but you got it wrong from the very beginning though: it's not ``since it's old it's stable'', it's ``since it's in Debian stable, it's stable''.
Yeah, and my height would then be 1713099.76 Hz.
I actually didn't expect people to not consider my post a joke.
But I don't write tests. I write proof of my software's correctness.
Ballmer is not a computer scientist since he should be using WP, and if he is not a computer scientist, why the bloody hell does he have a right to evaluate operating systems?
Meanwhile in Finland, Linus Torvald is writing one of the very rigorous stuff that is the Linux kernel mainly in C and some critical parts in Assembly.