[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: macros vs. blocks
Bruce Lewis wrote:
> A simple example that does #2 and #3 together is BRL's inputs syntax.
>
> (inputs foo bar baz)
>
> is equivalent to CGI.pm's
> foo=param('foo');
> bar=param('bar');
> baz=param('baz');
That's an excellent example. BRL provides a domain-specific Scheme superset
for web page authoring, and instead of exposing messy and irrelevant details
of the CGI API to users - as most systems like ASP, JSP etc. do - those
details have been fully encapsulated by a true abstraction, and handled
transparently by the language (BRL). It's more concise, more readable,
unambiguous, easier to remember, and easy to explain, without having to get
into details of APIs that really ought to be hidden.
Anton