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

Explain the purpose of # and * for constraining deferred types in interface module specifications in the docs #1788

Open
Frank-Zeyda opened this issue Jan 7, 2025 · 1 comment
Labels
docs LaTeX, markdown, literate haskell, or in-REPL documentation

Comments

@Frank-Zeyda
Copy link

Dear Cryptol Developers,

From some of the examples in cryptol-specs, I noticed that the following syntax is frequently used in interface module definitions to constraint abstract (deferred) types:

type A : #
type B : *

I may be mistaken but could not find a designated section in the reference manual that describes these operators in detail, i.e., from a syntactic, intuitive, and semantic point of view.

In case I missed something in:

https://galoisinc.github.io/cryptol/master/RefMan.html

please feel free to ignore and close the issue, perhaps with a note where an explanation can be found. Otherwise, I would recommend to formally introduce and explain these notations in the reference manual for the sake of completeness, including any other related notations to constraining deferred types in this manner.

@Frank-Zeyda Frank-Zeyda changed the title Explain the purpose of # and * for constraining abstract types in interface module specifications in the docs. Explain the purpose of # and * for constraining deferred types in interface module specifications in the docs. Jan 7, 2025
@Frank-Zeyda Frank-Zeyda changed the title Explain the purpose of # and * for constraining deferred types in interface module specifications in the docs. Explain the purpose of # and * for constraining deferred types in interface module specifications in the docs Jan 7, 2025
@RyanGlScott RyanGlScott added the docs LaTeX, markdown, literate haskell, or in-REPL documentation label Jan 7, 2025
@Frank-Zeyda
Copy link
Author

PS: I realized that this might be a duplicate of Issue 1711 (Add some information about # and * to the reference manual).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs LaTeX, markdown, literate haskell, or in-REPL documentation
Projects
None yet
Development

No branches or pull requests

2 participants