Used to capture the names in scope after every execution, reporting them
to the output
function.
Encapsulates (almost) all the ickiness of Scalac so it doesn't leak into the rest of the codebase.
Evaluates already-compiled Bytecode.
Represents a single "frame" of the sess.save
/sess.load
stack/tree.
A convenient bundle of all the functionality necessary to interpret Scala code.
Responsible for all scala-source-code-munging that happens within the Ammonite REPL.
Nice wrapper for the presentation compiler.
Classloader used to implement the jar-downloading command-evaluating logic in Ammonite.
Loads the jars that make up the classpath of the scala-js-fiddle compiler and re-shapes it into the correct structure to satisfy scala-compile and scalajs-tools
What actually lets us compile and execute code in the Ammonite REPL; deals with the Scala compiler, preprocessing the strings, JVM classloaders, etc.