ATLAS: A VOYAGE OF DISCOVERY ON THE HIGH SEAS OF SCRIPTING
summary
Atlas is a small scripting language implemented in Scala with a serializable AST and an interpreter generalized over any F using Cats/Scalaz patterns (Either, StateT, monad transformers) to handle async, errors and sandboxing. It supports closures by storing an environment with functions, exposes native functions to call Scala, and enforces execution limits via interpreter state. Prototype works but is immature and two to four orders of magnitude slower than equivalent Scala (about 10x slower than JVM JavaScript).
AI-written summary · about
chapters (13)
- 0:00Introduction
- 4:45Creating a scripting language
- 7:15Expressions
- 8:00Type Errors
- 10:10Expression Language
- 10:48Interpreters
- 15:10Interpreter
- 20:16Variables
- 21:26Implementing Functions
- 23:48Pseudocode
- 25:09Functions
- 25:45Native Functions
- 29:29Why is this a terrible idea
related talks
46mInventing a language (placeholder title)
01h 05mScala: The Simple Parts
46mScala's Role in the Programming Languages Ecosystem
46mThe Unison Language and its Scala-based Runtime
53mFROM SCALA TO ASSEMBLY THE COST OF ABSTACTION REVISITED
44mFunctional Interpreters and You
15mRapid Rapture!
42mWhen your DSL Needs to Support User-Defined Functions
