Module syntax::ext::mtwt[src]

Machinery for hygienic macros, as described in the MTWT[1] paper.

[1] Matthew Flatt, Ryan Culpepper, David Darais, and Robert Bruce Findler. 2012. Macros that work together: Compile-time bindings, partial expansion, and definition contexts. J. Funct. Program. 22, 2 (March 2012), 181-216. DOI=10.1017/S0956796812000093 http://dx.doi.org/10.1017/S0956796812000093

Structs

SCTable

Enums

SyntaxContext_

Functions

clear_tables

Clear the tables from TLD to reclaim memory.

display_sctable

Print out an SCTable for debugging

marksof

Compute the marks associated with a syntax context.

new_mark

Extend a syntax context with a given mark

new_rename

Extend a syntax context with a given rename

outer_mark

Return the outer mark for a context with a mark at the outside. FAILS when outside is not a mark.

resolve

Resolve a syntax object to a name, per MTWT.

with_sctable

Fetch the SCTable from TLS, create one if it doesn't yet exist.