addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupsimageimagesinstagramlinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1outlookpersonJoin Group on CardStartprice-ribbonShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Chris Birchall: Meta-program and/or shapeless all the things!

As always, please sign up on the Skills Matter website to register for this meetup: https://skillsmatter.com/meetups/8565-london-scala-meetup

It's a Scala eXchange special!

Metaprogramming using Scala macros is a powerful tool for code generation, automatic optimisation and static checking for improved safety. But macros can look quite scary the first time you see them, so I'll try to convince you that there is nothing to fear. Macros are both useful and fun!

The talk will be in three parts.

Part 1 will be an introduction to Scala macros, using live coding to demonstrate how they work and what you can do with them. We'll look at examples of implementing both a "def macro" and a macro annotation.

In Part 2 I will introduce scala.meta, the next generation of metaprogramming in Scala. I'll demonstrate the syntactic API and "meta paradise", the shiny replacement for the current Scala macro API. With more live coding, I'll show how to re-implement the macro annotation from Part 1 using meta paradise.

Finally in Part 3 I'll talk about when you should NOT use a macro because it would replicate functionality already available in Miles Sabin's shapeless library. I'll introduce a few examples of how to use shapeless to achieve the same result as writing a macro, but with less effort.

Join or login to comment.

1 went

Our Sponsors

  • ScalaExchange

    20% off #ScalaExchange tickets with code LSUG_SPECIAL_20 before 28 Nov

  • Scala Dojo

    Web site for monthly Scala Dojo

  • Scala Jobs

    Google Group of Scala Jobs in the London Area

  • _.underscore

    Scala consultants, trainers, and developers, based in London, UK

  • Springer

    Help and supporters of the monthly dojo

  • Skills Matter

    Provide the venue for many of our meetings.

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy