These packages did not fit this package, causing unstructured (and
potentially cyclic dependencies). This change...
Extracted the parse package to a top-level package as it is a clearly
defined component in the system.
Moved the resolver to the fnenv package as all related
implementations were already present there.
This change improves the naming and the exposed API of
both packages. ResolvedTask has been renamed to FnRef; indicating the
immutablity, and function specific nature of this data structure. The
format of the FnRef has been formalized to be more or less consistent
with the URI standard. The url package was not used to avoid the
confusion how the FnRef is used. So instead the fnref implementation
currently is a subset of the functionality offered by the url package.
The resolver interface has been split into two interfaces: resolver and
runtimeResolver. The RuntimeResolver is a runtime-specific resolver. It
is not aware of in what runtime context it is being run. The Resolver
interface is an abstraction level higher, and is aware of the runtime,
in order to resolve a target function to a unique function reference.
Additionally this change adds the -v option to the glide install instructions
to avoid nested vendor issues.
These packages did not fit this package, causing unstructured (and potentially cyclic dependencies). This change...
This change improves the naming and the exposed API of both packages. ResolvedTask has been renamed to FnRef; indicating the immutablity, and function specific nature of this data structure. The format of the FnRef has been formalized to be more or less consistent with the URI standard. The url package was not used to avoid the confusion how the FnRef is used. So instead the fnref implementation currently is a subset of the functionality offered by the url package.
The resolver interface has been split into two interfaces: resolver and runtimeResolver. The RuntimeResolver is a runtime-specific resolver. It is not aware of in what runtime context it is being run. The Resolver interface is an abstraction level higher, and is aware of the runtime, in order to resolve a target function to a unique function reference.
Additionally this change adds the
-v
option to the glide install instructions to avoid nested vendor issues.