harec uses environment variables to seek out modules to reference in the current
unit. The user is responsible for building dependencies first and ensuring that
they appear in the module cache.

The following environment variables are used:

HARECACHE
	Path to the module cache, defaults to ~/.cache/hare. For each imported
	module, harec will construct the path $HARECACHE/$modname/$modversion.td
	to look up the module API, where $modname has namespace delimiters '::'
	replaced with path separators '/'.

HARE.$MOD.VERSION
	Sets the module version to reference for given module $MOD. For example,
	to specify the version of the 'io' module to link to, set
	HARE.io.VERSION=da39a3ee5e6b4b0d3255bfef95601890afd80709. Replace
	namespace delimiters '::' with '.' to form the variable name. In this
	example, harec will read
	$HARECACHE/io/da39a3ee5e6b4b0d3255bfef95601890afd80709.td to obtain the
	type definitions for the 'io' module.

	If this variable is not found, the module's name is used as the version,
	with the namespace delimiters '::' replaced with '.'.

HA_STAGE
	Causes harec to terminate after the given stage completes. If set, the
	value must be "lex", "parse", "check", "gen", or "emit" (the default).
