Bartosz Bąbol

Software engineering

New Scalameta Inline Macros- Examples

Metaprogramming in scala evolves at the speed of light. Great example of that is Scaladays 2016 conference. One day we have heard that macros will be removed from the language:


Next day we heard about bright future of them:


Recently, I’ve been observing scalameta project and reading its gitter. After previewing some papers(links on the end of post) about new inline macros and Eugene Burmako presentation mentioned above I’ve decided to give them a try and port my simple examples from previous posts to new inline macros. I wanted to check if it is possible to run them and… it is :) But If you will preview commits on master branch you will see what I’ve meant in my first sentence of this post where I wrote that metaprogramming in scala evolves in speed of light. On Thursday I’ve version with some bugs, Saturday was release of Snapshot version, which removed some of them, and on Tuesday was release of scalameta 1.1.0 and macro paradise 3.0.0-M5 which solves bugs I had in my examples.

I encourage you to preview this repo. Also don’t hesitate to give me reply if you see something wrong on them.

Link to repository: github

Link to my previous post about macro annotations (Idea is mostly the same, api has changed): Blog

Other (probably more) useful links:

Sip-nn inline/meta

scalameta overview

Scaladays 2016 Berlin Keynote- Martin Odersky

Scaladays 2016 Metaprogramming 2.0- Eugene Burmako