Details
-
Task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
At script level functions might have logical namespace names such as foo::bar(), where foo is the namespace name, and bar is the function name. To handle namespace conflicts, SYSTEMML-631 internally replaced the logical namespaces with filenames. For reasons such as improved statistics output and the handling of namespace functions in the recently introduced eval function (SYSTEMML-2077), it would be good to keep the logical namespace as well.
This task aims to (1) extend the FunctionStatementBlock and FunctionProgramBlock data structures to keep the logical namespace name, (2) extend the parser and compiler accordingly, and (3) modify the statistics maintenance to use the function key (i.e., concatenation of logical namespace and function name) as the opcode.