Technical Program

The full program will be announced later.


The Beauty and the Beast — from Fortress to Julia
Jan Vitek, Northeastern University

Take two languages, Julia and Fortress, designed to solve similar problems with similar mechanisms and compare the approaches that led the one to being adopted and the other to being discontinued. What lessons are there for language designers? Can the designs be reconciled? Can we somehow turn the beast that is into the beauty that could have been? This talk is a snapshot of our investigations into Julia with more open questions than definitive answers. Julia’ design is a pragmatic effort driven by use-cases and user feedback. In contrast, Fortress followed a principled, formally grounded, approach that aimed for type soundness first. We will marvel at the efficacy of Julia's compiler — a one-trick pony that works well in practice. We will inspect the multi-dispatch feature of Julia and puzzle at the subtype relation that is at its heart. The takeaway of the talk is a list of language features that are key to performance and usability.

Jan Vitek loves to engineer software, sometimes teach software engineering, often hack single-file LaTeX documents, always complain about Git, never use Coq, and partly to blame for the artifact evaluation process used in many SIGPLAN conferences. He has an office at Northeastern University.

Building a Virtual Machine for the Cloud
Eric Sedlar, VP and Technical Director Oracle Labs

A cloud deployment consists of many separate components, such as load balancers, object stores, application servers and databases, and a single application depends on many such components together. Managing, debugging, and optimizing across all of those components is a challenge. GraalVM is a new technology from Oracle Labs that is both embeddable and multilingual, and can help improve that state of affairs. GraalVM has been embedded in multiple databases, a load balancer, with at least one known project to embed in an object store, as well as running in application runtimes like the Java HotSpot VM. If the same execution engine is embedded across all of those cloud components, cloud-level optimizations such as automatically moving code between components (across the network) becomes possible, and a unified VM and development environment for the cloud becomes possible.

Back To Top