3 ms·
That was just an example. In general, those representations are not the same. Structurally.
by kamaal 9y ago
That was just an example. In general, those representations are not the same. Structurally.
- kazinator 9y agoThey're only not the same when one is in Lisp and the other isn't. E.g. you load "infix.cl" into your Common Lisp so that you then have the #I read macro that gives you #I( f(x, y) ), then they are the same. This just denotes (f x y). It would be suboptimal for that to be any other way: https://www.cs.cmu.edu/Groups/AI/lang/lisp/code/syntax/infix/infix.cl https://www.cs.cmu.edu/Groups/AI/lang/lisp/code/syntax/infix... Now let's think about how silly it is to try to write a let block using this syntax: (let ((a 1) (b 2)) (+ a b)) becomes #I( let(a(1)(b(2)), +(a, b)) ) In the ((a 1) (b 2)) part the (a 1) becomes a(1). That then then looks like a function applied to the argument b(2). Things that should be on the same level aren't. It's like using Roman numerals instead of decimal. (f x y) is one size fits all; perhaps not optimal for anything in particular, just for everything.
- kamaal 9y agoThis was exactly what I was trying to say. The list notation just fits perfectly with everything else just so nice. And though we could talk about the possibilities in the mathematical sense, its hard to many things you do in lisp in non lisp languages.