-
Notifications
You must be signed in to change notification settings - Fork 3
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
Advanced function API #11
Comments
The current state is that I added the generic evaluation logic. The missing parts are translating the existing complex functions to become generic functions. See 1532ccc for details |
In order for In Python this works:
|
The grammar simplification in the functions_api branch break OBJECT() because complex field names are no longer allowed. This is in no way acceptable! We need to fix this. One way would be going back to using "Output path" as the name of attributes. This still need a lot of work! |
Still working on it. The test cases must finished before I can really test the new functionality and make all old functions work again. |
My new idea is to just allow resolved argument names for kwargs. They won't be used for the other arguments anyway. This would enable us to still set the default values if they are missing and check for presence of non-optional arguments. |
A much better idea: Add a special kind of parameter: resolved ones! => args, vargs, kwargs and resargs Checks might be specifically disabled for methods with resolved parameters. Still have to think this through. |
Since resolved argument names will always lead to issues with automated checking and default paramters, I think it is necessary to introduce two kinds of functions:
|
Yet another idea would be completely automated evaluation of the arguments. We could evaluate all names and VData argument by argument and in case there are duplicate results: branch (this is done in ObjectVData). We must confirm that this is the desired behavior for all functions! |
Functions are currently split into Simple functions and ordinary VData which acts as a function. These VData types should be encapsulated somehow. We need ways to specify if this function applys to all engines or just some input/output engines.
The text was updated successfully, but these errors were encountered: