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

User-defined infix type operators #618

Closed
brianhuffman opened this issue Jun 24, 2019 · 0 comments · Fixed by #627
Closed

User-defined infix type operators #618

brianhuffman opened this issue Jun 24, 2019 · 0 comments · Fixed by #627
Labels
language Changes or extensions to the language parser Issues with lexing or parsing. renamer Issues related to scoping and name resolution.

Comments

@brianhuffman
Copy link
Contributor

Cryptol has supported user-defined infix operators at the value level since version 2.2.5 (2015). We should also let users define infix type operators, so we can write things like this:

infixr 10 ~>
type a ~> b = [inf]a -> [inf]b

We should also allow infix type constraint definitions (see #400):

type constraint i < j = (j >= i + 1)
@brianhuffman brianhuffman added feature request Asking for new or improved functionality parser Issues with lexing or parsing. labels Jun 24, 2019
@yav yav added language Changes or extensions to the language renamer Issues related to scoping and name resolution. and removed feature request Asking for new or improved functionality labels Jun 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
language Changes or extensions to the language parser Issues with lexing or parsing. renamer Issues related to scoping and name resolution.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants