Skip to content
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

TLAPM syntax parser treats Cartesian products differently from infix operators #162

Open
ahelwer opened this issue Oct 24, 2024 · 0 comments
Labels
bug An error, usually in the code. syntax parser Issues relating to TLAPM's syntax parser

Comments

@ahelwer
Copy link
Collaborator

ahelwer commented Oct 24, 2024

It is questionable how much of a bug this is because both of these failures should be rejected at the semantic level since \X and \times are built-ins; however, a straightforward reading of the TLA+ syntax grammar shows these should be accepted at the syntax level at least. Both of these test inputs will fail:

---- MODULE Test ----
x \X y == 0
x \times y == 0
====
---- MODULE Test ----
op(_ \X _, _ \times _) == TRUE
====

This bug can fall under the category of "low priority" or possibly even be kicked up to the language standard level to decide to what extent Cartesian products should be treated as regular infix operators for syntax parsing purposes.

Ref #159

@ahelwer ahelwer added bug An error, usually in the code. syntax parser Issues relating to TLAPM's syntax parser labels Oct 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug An error, usually in the code. syntax parser Issues relating to TLAPM's syntax parser
Development

No branches or pull requests

1 participant