Download

Appendices

A. Deferred decisions / topics to revisit#

  • An unsafe facility for low-level FFI.
  • An explicit allocator API (arenas, buffers) for performance-critical code.
  • Automatic string marshalling between WebAssembly and JavaScript.
  • Continuation-passing coroutines.
  • Native threads (std/thread).
  • Networking.
  • External packages.
  • WebAssembly without WASI.

B. Glossary#

  • UFCS: Uniform Function Call Syntax. a.f(b) is the call f(a, b) (§6).
  • Comptime: compile-time execution, Vader code run during the build (§14).
  • SAM: Single Abstract Method. A trait with exactly one required method, whose impl may be written as its body alone (Foo implements Trait -> expr) instead of the full name :: fn(...) { ... } declaration.
  • VM: the Vader virtual machine, which runs the bytecode for vader run and vader test (§2).
  • Bootstrap: compiling the Vader compiler with itself (docs/BOOTSTRAP.md).