sexpressions, sexpr, sex!

Andrew Bromage
Thu, 22 Jun 1995 12:44:37 +1000 (EST)


I wrote:

> Disagreed.
> Functors are a common feature of more modern languages than Lisp.

Garth wrote:

> i agree functors are useful.  i don't however see how this applies to
> creating an alternate syntax which is better than sexprs.

Disclaimer: My opinion.

One thing that bugs me about s-expressions is that each cons cell has
only two children.  Data usually comes in bigger chunks than that, so
storing larger structures (which we will need) in an s-expression
wastes memory needlessly.

(Question: Cons is the only primitive data constructor, right?  That's 
if you don't count getprop and putprop.  I assume that this isn't just
a Lispism because my version of Prolog (NU-Prolog) has these.)

Apart from implementation considerations, though, here are my main
complaints about s-expression syntax:

	- Too many parenthesis.  (I know, I know...)

	- The cons operation is right-associative.  Being
	  brought up on lambda calculus-based languages, I
	  find this counter-intuitive.

	- The lack of infix and postfix operators.  Much
	  programming is mathematical, and so something that
	  looks more like mathematical notation makes sense.

All-in-all, s-expressions _look_ like they were intended for machine

Functors, on the other hand, look like functions.  What's more, you
can make them work like operators (in a syntax system which allows
dynamically-created operators).

> please eloborate (it's late - please forgive me :)

No, fair enough.  I re-read my message and I realised that I left
quite a bit unanswered.

Once again, I am fully prepared to be talked out of any/all of the
above if necessary.

Andrew Bromage