Tue Aug 19 15:26:18 CEST 2008

Parameterized programming

Two forms of metaprogramming: anonymous macros and name templates.
I'm writing a blog article about this..

Now, object.  An object is something identified by a single reference
(for compile-time objects this would be a macro) that can be sent a
message.  I'm interested in a _static_ version of this abstraction,
which is not much more than a way to link namespaces at compile time,
or some way of plugging in behaviour..

I.e. a bidrectional communication port accepts two messages: 'read and
'write.  I'd like to write code that uses these messages, but is
parameterized by the object implementing it.

What could be done is to declare 'read and 'write as methods.  A
method is a macro that sends a message to a (couple of) object(s).

Hunch: I think it's better to persue that route instead of that of
prefix parsers, because they don't compose well.  Try to stick to
concatenative s-expression syntax, and improve partial evaluation

So... does 'late binding at compile time' make any sense?  The idea is
to let a method be something that sends a message to an object.