The CSV configuration file is unwieldy and tedious to fill out by hand, especially for cases with many functions at play. Instead, we should extract the necessary information from the function definition file.
We can extract function names, argument names, and the names of return values programmatically and use those to build Kasters. This should not be too constricting for users. The requirements for these functions will then be as follows:
- Functions must take required input variables as input with the names expected in the input data, e.g. if a function
my_func(foo) is defined, there must be a labeled variable foo in the input data.
- Functions must return variables as a tuple with the name they are desired to have in the high level knowledge, e.g. if
my_func(foo) returns two variables, bar and spam, the return statement of my_func(foo) must take the form return (bar, spam).
The CSV configuration file is unwieldy and tedious to fill out by hand, especially for cases with many functions at play. Instead, we should extract the necessary information from the function definition file.
We can extract function names, argument names, and the names of return values programmatically and use those to build Kasters. This should not be too constricting for users. The requirements for these functions will then be as follows:
my_func(foo)is defined, there must be a labeled variablefooin the input data.my_func(foo)returns two variables,barandspam, the return statement ofmy_func(foo)must take the formreturn (bar, spam).