The Unison Language and its Scala-based Runtime
summary
Unison is a functional language that ships ASTs between nodes and performs runtime code deployment by partially evaluating an interpreter implemented in Scala, producing compiled Scala functions that mutate machine-like state. The Scala-based runtime uses compilation by partial evaluation to eliminate interpreter dispatch, leverages JVM inlining and devirtualization, and achieves performance within a factor of two of native Scala where a naive interpreter is about 10x slower. Dynamic provisioning and elastic MapReduce examples are implemented and working.
AI-written summary · about
chapters (11)
- 0:00Start
- 1:05The Unison Programming Language
- 1:24Motivating the Unison Language
- 6:12Background on the Language
- 8:58Example of a Multi Node Computation in Unison
- 10:55Distributed Mapreduce Function
- 15:50Why Our Interpreters for Programming Languages Slow
- 20:13Compute the Nth Fibonacci Number
- 26:03Partial Evaluation
- 28:27Loop
- 29:58Sources of Overhead
related talks
05mInterview
46mScala's Role in the Programming Languages Ecosystem
01h 05mScala: The Simple Parts
21mReasonable Scala Compiler
57mScalan: a reasonably typed meta programming framework in Scala
53mFROM SCALA TO ASSEMBLY THE COST OF ABSTACTION REVISITED
44mFunctional Interpreters and You
32mATLAS: A VOYAGE OF DISCOVERY ON THE HIGH SEAS OF SCRIPTING
