-
Notifications
You must be signed in to change notification settings - Fork 7
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
Adding type annotations to graph edges #1
Milestone
Comments
mikolak-net
added a commit
that referenced
this issue
Jan 14, 2018
mikolak-net
added a commit
that referenced
this issue
Jan 14, 2018
mikolak-net
added a commit
that referenced
this issue
Jan 14, 2018
mikolak-net
added a commit
that referenced
this issue
Jan 14, 2018
mikolak-net
added a commit
that referenced
this issue
Jan 18, 2018
A partial solution (manual registration) will be available in the immediately upcoming version. Automatic derivation will come later on - see this SO question for the abstracted form of the current blocker. |
mikolak-net
added a commit
that referenced
this issue
Feb 11, 2018
mikolak-net
added a commit
that referenced
this issue
Feb 11, 2018
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Summary:
Both:
should include types as edge (transition) labels wherever possible.
Problem description:
How can't one get the types of a stage from an Akka Streams
Graph
? Let me count the ways:Graph
itself, nor itsShape
. At least one of those would have to be anHList
-like structure for that;Traversal
- for the exact same reason;Stage
, one can't infer the types from itsInlet
s andOutlet
s, as the correspondingList
s are wildcard-typed.So, the requirement is to capture every stage practically at the time of creation (at least before it passes an operation that results in type erasure) and store its associated, fully-typed
Shape
, accessible by the graph generator.Problem solution:
A possible solution would thus involve:
Traversal
parser that references said registry and matches edge labels to the corresponding types.Regarding point 2 - in other words, we would like to automate converting this:
into this:
where:
Note that there will also be some typesystem deconstruction involved - for example the actual
typeOf[T]
in the example above is:And not e.g.
Graph[SinkShape[....
.Of course, just adding the registry and allowing users to manually insert registration invocations would be a good first step.
The text was updated successfully, but these errors were encountered: