Skip to content

CIF/BDD: support limited forms of internal user-defined functions

I think it wouldn't be to hard to support some internal user-defined functions, with the following concepts:

  • Parameters.
  • Local variables.
  • Assignments.
  • if statements.
  • return statements.

The following features would not be supported:

  • while statements (including break and continue statements).
  • Multiple return types/values (already implied by not supporting tuple types).
  • Direct or indirect recursive function calls.
  • Functions as data.
  • Assignments that could cause out-of-range errors at runtime.
Edited by Dennis Hendriks