ASKEM_SKEMA_Milestone_6
ASKEM SKEMA Milestone 6 release. This includes:
- Adding support for implicit conditional checks in while loop conditions.
- Many Python data types may be interpreted as having a Boolean value. For example, if x is a list, then in the code
while x:
, the condition will evaluate to True if the list has elements, otherwise False. The Python2CAST translation now treats condition expression trees that do not have a Boolean operator at the head as implicitly wrapped in a Pythonbool()
function call.
- Many Python data types may be interpreted as having a Boolean value. For example, if x is a list, then in the code
- Python permits lazy variable declaration. This means a new variable identifier may be declared within a conditional branch (must be declared in any branch of a conditional). These are now handled.
- This particularly caused issues when the introduced variables were used in keyword arguments in function calls within conditionals.
- Adding support for keyword only (kwonly) arguments
- These are arguments in a function definition that come after a
*
in the arguments list
- These are arguments in a function definition that come after a
- Improved support of the user module imports.
- Added functionality to better read user modules. This also fixes an issue where user modules couldn't be read in certain instances.