Topics: A new take on documentation and Finished exception-handling wiring rework

A new take on documentation

Another attempt at documenting user-visible Viua interface is being made. There are several things that require attention, and which have to be documented. In no particular order:

  • the instruction set
  • what is a register?
  • what is a register set?
  • how to access values held in registers?
  • what is the execution model of the VM (asynchronously communicating processes)?
  • how to send and receive messages?
  • how to handle errors?
  • how to do I/O?

These are all important issues, but Viua does not currently provide documentation for them in any form. There are several articles in a few places, almost 600 example programs written for Viua, but this is not enough for the VM to be usable.

The newest place when documentation can be found is here. It combines documentation of available instructions with explanations of the core concepts of Viua VM: registers, register sets, value lifetimes, types, processes, messages, exceptions and error handling.

Finished exception-handling wiring rework

Explicit news were removed from Viua code, removing the last place where naked pointers to dynamically allocated objects were used and increasing the overall reliability of Viua VM.