Past Meetup

Erik Osheim: Inlining anonymous functions with macros

This Meetup is past

34 people went



The inlining problem (described by Cliff Click) is something that affects all functional languages on the JVM. The basic idea is that tight-loops dispatching to an anonymous function can defeat all of the JVMs optimization strategies. This creates a natural tension between writing the most concise code possible (DRY) and "manually inlining" boilerplate code for performance reasons.

Macros give us one possible tool to solve this problem. This talk describes a strategy where we can use anonymous function literals to generate implementations at compile-time. This strategy has the potential to give us terse, high-level source code that compiles to fast bytecode. In this talk, we'll see some early efforts, as well as challenges.

Speaker bio:

Erik is one of the primary authors of Spire, a library for fast, generic numeric programming in Scala. His day job involves hacking code and analyzing data for His interests include experimental art and videogames, loud music, riding bikes, and playing with math.

no refreshments provided — don't come hungry

hangout/drinks/food afterwards at Catalyst (300 Technology Square, by Main & Albany)

At MIT, allow extra time to find the room. Enter the Stata Center at 32 Vassar Street, opposite the sign for 43 Vassar Street. Take the elevator (under a sign saying "Alexander W Dreyfoos Building" to the fourth floor. (If you find yourself instead in the Gates Building part of the Stata Center, return to ground floor and walk to the other end of the building to the Dreyfoos elevators.) On the fourth floor, turn left out of the elevator and then right, through double doors, straight onto orange carpet, then right.

(building doors locked? wait a few minutes for someone to go in or out; call Seth at 617-851-6406 if needed)