"Geir Magnusson Jr." wrote:
> Another quick thought :
>[snip]
> The point I want to make is that I believe keeping the notion that what
> comes out of the context is what the programmer puts in, and they are
> 'data producers' rather than 'actions'.

The global macro library is also something that gets put in by the
programmers (and template designers), as well as local #sets put 
things into the context... The #macro directive is the producer,
just the same as the #set is. What has been produced, is then 
referenced elsewhere and is accessed during template merging. 
So your statement is not a valid justification.

I see it more as #macroPush vs. $macroPull. A #macro also could put
something into the context, which then can be pulled in at other
location. 

The normal talk says "defining a macro" and "accessing a macro" 
which then expands at the invocation point. Note that "using macros"
covers both defining and accessing actions.

> 
> VMs or new defines or whatever would break that model.  It's easy to say
> : when you want to 'do' something, it starts with '#'. When you want to
> 'get' something, it starts with '$'.  Lets not mix this up.

#macroPush is normally getting something (e.g. formatted output).
So this again is no justification for them being accessed via '#'.

:) Christoph

Reply via email to