Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extract resolver and parser implementations from workflow api #114

Merged
merged 3 commits into from
Feb 21, 2018

Conversation

erwinvaneyk
Copy link
Member

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...
- 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.

Additionally 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.
@erwinvaneyk erwinvaneyk force-pushed the resolver-parser-improvements branch from 67b14a7 to c625240 Compare February 21, 2018 14:08
@erwinvaneyk erwinvaneyk merged commit a799ce0 into master Feb 21, 2018
@erwinvaneyk erwinvaneyk deleted the resolver-parser-improvements branch February 21, 2018 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant