[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: choosing a language for your audience or macros vs syntax?

Ken Anderson <kanderson@bbn.com> writes:

> ....macros were basically free because we needed them to implement the
> special forms anyway.
> ....
> Syntactic extension carries a lot of issues with it, but isn't it
> essential for growing a language?

This is a very Schemey (LISPy?) way of looking at building a language.
If you start off with the basic building blocks of variables, literals,
procedure calls, lambda, conditionals, and assignments, then it seems
the only natural strategy is to create a macro system to extend those
basic building blocks into a full-blown language.

However, if you leave lambda out of your list of basic building blocks
and think of it as an advanced feature to add later, then a macro system
becomes much less interesting.  The most interesting and useful macros
involve lambda.

I think a lot of language implementors don't look at lambda as a basic
building block.

To speculate further, I think most language implementors see "growing
the language" as their job, and not a capability to give end users.

<brlewis@[(if (brl-related? message)    ; Bruce R. Lewis
              "users.sourceforge.net"   ; http://brl.codesimply.net/