[bitc-dev] DISCUSS: To macro or not to macro?
Sandro Magi
naasking at higherlogics.com
Fri Jul 18 14:03:40 CDT 2008
I mean multistage languages ala MetaOCaml. For instance, see "Macros as
MultiStage Computations: TypeSafe, Generative, Binding Macros in
MacroML" [1].
However, if macros are the way you're going, I've heard good things
about [2].
Sandro
[1] http://citeseer.ist.psu.edu/440438.html
[2] http://www.cs.utah.edu/plt/publications/macromod.pdf
Jonathan S. Shapiro wrote:
> Sandro:
>
> Can you say what you mean by "multistaging"?
>
> It is certainly true that a well-structured macro system can be
> implemented in a pre-processor. There are two differences:
>
> 1. The macro expansion is integrated into the compiler front end.
> This is mainly a matter of implementation.
>
> 2. The macro mechanism is extensible. It is certainly possible to
> build extensible preprocessors, but most preprocessors have
> not been extensible in this way.
>
> shap
>
>
> On Fri, 2008-07-18 at 13:16 -0400, Sandro Magi wrote:
>> Ever since learning about multistaging, I've never seen the point of
>> macros. I'd imagine that BitC would only want to permit one stage, and
>> using staging has the advantage of retaining important type information.
>>
>> Staging can also permit a limited form of reflection/polytypism [1]. I
>> suspect that you might consider even a single stage as a tad too
>> ambitious though. :-)
>>
>> Sandro
>>
>> [1] http://okmij.org/ftp/ML/#gprint
>
> _______________________________________________
> bitc-dev mailing list
> bitc-dev at coyotos.org
> http://www.coyotos.org/mailman/listinfo/bitc-dev
More information about the bitc-dev
mailing list