-
-
Notifications
You must be signed in to change notification settings - Fork 40
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
Introduce support for recursive functions #84
Comments
It should be easy to do, as recursive functions -- in contrast to recursive operators -- do not require fixpoint computation. |
Recursive functions seem to be harder to encode than we expected. There are a few problems to think about:
|
To handle recursive functions differently from recursive operators, we have changed the intermediate representation of recursive functions. From now on, a recursive function is defined with a nullary operator whose body consists of the application of the operator Details to be added in #125. |
We have added limited support for recursive functions, see the manual. |
Currently, a
at.forsyte.apalache.tla.lir.UnexpectedLanguageError
is thrown if a recursive function is used.See #83 for an example specification.
The text was updated successfully, but these errors were encountered: