Provides an implementation of Path.Root
which stores files in memory, rather than on disk or within e.g. a Jar file. Initially, a virtual root is completely empty since there is nothing backing it. Virtual roots are used to hold temporary files that are generated during compilation and which one does not want stored on e.g. the file system.
As an example, intermediate Wyil files are often stored in virtual root. The build task will typically use a virtual root as the default (meaning wyil files are not written to disk during compilation), but the user can then override this in order to examine them (e.g. for debugging).
@author David J. Pearce