Here's the pull request for loadable syntax extensions: https://github.com/mozilla/rust/pull/11151
If you look through the tests, there are a few more examples of them, like this: https://github.com/mozilla/rust/blob/master/src/test/auxiliary/macro_crate_test.rs Once this pull requests lands, it'll be a practical example of a loadable procedural macro: https://github.com/mozilla/rust/pull/12034 Hope this helps! Derek On Sat, Feb 8, 2014 at 7:37 AM, Pierre Talbot <[email protected]> wrote: > On 01/29/2014 06:00 PM, SiegeLord wrote: >> >> On 01/29/2014 11:44 AM, Niko Matsakis wrote: >>> >>> On Tue, Jan 28, 2014 at 07:01:44PM -0500, comex wrote: >>>> >>>> Actually, Rust already has procedural macros as of recently. I was >>>> wondering whether that could be combined with the proposed new system. >>> >>> >>> I haven't looked in detail at the procedural macro support that was >>> recently added, but off hand I think I favor that approach. That is, >>> I'd rather compile a Rust module, link it dynamically, and run it as >>> normal, versus defining some subset of Rust that the compiler can >>> execute. The latter seems like it'll be difficult to define, >>> implement, and understand. Our experience with effect systems and >>> purity has not been particularly good, and I think staged compilation >>> is easier to explain and free from the twin hazards of "this library >>> function is pure but not marked pure" (when using explicit >>> declaration) or "this library function is accidentally pure" (when >>> using inference). >>> >> >> I was under the impression from some time ago that this was going to be >> the way CTFE is implemented in Rust. Having tried CTFE in D, I was not >> impressed by the nebulous definition of the constant language used there, it >> was never clear ahead of time what will work and what won't (although maybe >> the problem won't be as big in Rust, as Rust is a smaller language). >> Additionally, it was just plain slow (you are essentially creating a very >> slow scripting language without JIT). >> >> It seems to me (judging at the size of the loadable procedural macro >> commit size) that using staged compilation approach will be easier to >> implement and be more powerful at the cost of, perhaps, less convenient >> usage. >> >> -SL >> > I didn't consider procedural macro and wasn't aware that it was in Rust. I > can't find any resources, could someone points me out some documentations? > > Cheers, > Pierre Talbot. > > _______________________________________________ > Rust-dev mailing list > [email protected] > https://mail.mozilla.org/listinfo/rust-dev _______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
