What do autoboxing, value classes and specialization have in common?

Speaker: Vlad Ureche, EPFL

Title: What do autoboxing, value classes and specialization have in common?


Would you answer "a lot"? In this talk, Vlad will present a theory that unifies autoboxing, value classes, specialization and staging in a single transformation mechanism. This theory has been successfully used to implement three program transformations: miniboxing specialization (scala-miniboxing.org), multi-parameter value classes (github.com/miniboxing/value-plugin/wiki) and staging (github.com/miniboxing/staging-plugin/wiki).

The aim of all these transformations is to replace the data representation of certain objects in the program without altering the semantics. For example, we may want to unbox “scala.Int” to Java’s more efficient “int” representation whenever possible, to avoid the overhead of heap objects. However, unboxing even a single method parameter requires adapting all its callers plus the method’s body. This makes it very hard to transform a program without introducing inconsistencies.

Yet, tracking the data representation in the type allows us to add coercions between representations in an automatic, reliable and optimal way. This mechanism can later be customized to unbox primitive types, inline value classes, to perform specialization, to optimize closures or to allow multi-stage programming, which peels away the abstraction layers slowing down high-level code. Now, the question is: what’s YOUR use case for the transformation mechanism?

Speaker's short bio.

Vlad is a PhD student in the Scala Lab at EPFL, where he's working on optimizing high-level patterns in the Scala programming language down to fast JVM bytecode. His main project, miniboxing (scala-miniboxing.org), is aimed at compiling generic classes down to very efficient bytecode.


• 6:30-7:00 - networking

• 7:00-7:10 - announcements etc

• 7:10-~8:40 - talk

• 8:40-9:00 - networking

Join or login to comment.

  • Vlad U.

    Vlad, do you know if Linkedin will publish the recorded presentation?

    August 17

  • Jeff C.

    The talk was excellent--super interesting and very clear. Thanks much!

    August 2

  • al f.

    VIDEO (for those who can't wait for the official version): http://youtu.be/ArIsChViFLM

    4 · August 1

  • Christian P.

    Special thanks for the interesting in-depth discussions after the talk!

    2 · August 2

  • Tim H.

    How do we determine the value of information vs. legal red tape? Is there an LOC/NDA ratio? #HahaOnlySerious

    1 · August 1

    • Vlad P.

      The issue of NDA was resolved pretty efficiently; kudos to all LinkedIn people involved.

      1 · August 1

  • Patrick N.

    The talk will most probably worth it.

    1 · August 1

  • Vlad P.

    My apologies...

    It turned out LinkedIn again will want you to sign and NDA. Not everyone likes it; and it was discussed before; but the people who discussed it are already gone, so it happens again. Good food, but NDA. Hope we'll clear this out in the future, but not now.

    So, if you are against NDA (as I know some are), this is kind of late, but a warning.

    Sorry about that.

    August 1

Our Sponsors

  • ScalaCourses.com

    Online and on-site training

  • Box

    Space to host meetups and food sponsorship for meetups hosted at Box HQ

  • Artima

    Scala Books

  • IntelliJ

    Free copies of IDEA given away each meetup

  • Clari Inc.

    Space for hosting as well as food and other arrangements on meetups.

People in this
Meetup are also in:

Create your own Meetup Group

Get started Learn more

We just grab a coffee and speak French. Some people have been coming every week for months... it creates a kind of warmth to the group.

Rafaël, started French Conversation Group

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