Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore a research presentation that introduces micros as an innovative alternative to traditional macro embedding for implementing extensible shallow embeddings of object languages in Scheme-like host languages. Learn how Sean Bocirnea and William J. Bowman from the University of British Columbia address the compile-time performance limitations of macro embedding by proposing syntax to intermediate representation (IR) transformers instead of source-to-source transformers. Discover how micro embedding enables stopping at an IR to produce deep embeddings and support high-performance compile-time functions over efficient IRs before shallowly embedding back into source syntax. Understand the design patterns that make IRs and their associated functions extensible, achieving extensible hybrid embedding of statically typed languages with significantly improved compile-time performance compared to macro-embedding approaches. Examine the new abstractions that package these design patterns and their applications in domain-specific languages, compilers, optimization, and language-oriented programming. This 25-minute conference presentation from Scheme 2025 provides insights into advanced techniques for balancing extensibility and performance in embedded language implementations.