-
Notifications
You must be signed in to change notification settings - Fork 5
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
Plugin interface #4
Comments
Could you be more specific on what a plugin should represent and should be allowed to do? (A) (B) (C) In short: (A) definitely, it will happen naturally as I refactor stuff and find commonalities between say running Python, R, and Dotnet programs. (A) could even take the shape of a "YAML-plugin configuration". (B) is on my radar and is higher priority for me than (A) because I'd like to understand the design space where non-determinisms is "fine". (C) taken in isolation seems reasonable but I'd rather budget my time on (B) because it seems more promising. |
Regarding (C) an advice drawn from my experience is: Don't do this! I have worked for some time on a system which was based on those principles: Nodes where functions that could produce other nodes and dependencies, leading to a graph it was impossible to reason about. I think (A) is easy and as @lucasdicioccio said will arise quite naturally. (B) is definitely interesting to explore but then it introduces side-effects and non-determinism in graph building which somehow gets us back to (C). This is what happens currently in my experiments with remote execution of a locally built executable: The graph is truncated at the A possible solution would be to exposes those sub-graphs as usual |
Add a way to enrich the capabilities at runtime
Bonus: do not restrict the plugins to be developed in (100%) in Haskell
The text was updated successfully, but these errors were encountered: