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

Add support for "literate specs" #449

Closed
5 tasks done
shonfeder opened this issue Dec 19, 2022 · 4 comments · Fixed by #1193
Closed
5 tasks done

Add support for "literate specs" #449

shonfeder opened this issue Dec 19, 2022 · 4 comments · Fixed by #1193

Comments

@shonfeder
Copy link
Contributor

shonfeder commented Dec 19, 2022

We'll want an easy and convenient way for specification authors to be able to author specs meant as protocol and algorithm design documents while taking advantage of all our tooling. The best UX for this is probably thru extending our compiler and plugin tooling. Likely features to include:

  • Generate markdown that preserves the body of operators
  • Support annotations for hiding some sections by default
    • This would probably produce details/summary tags
  • Support markdown syntax highlighting for documentation comments in VSCode pluging
  • Support multiline documentation comments
  • Preserve comments in AST so they can be included, as they are often important for literate code
@konnov konnov added the new label Dec 21, 2022
@konnov konnov added this to the Literate specs milestone Dec 21, 2022
@konnov
Copy link
Contributor

konnov commented Dec 21, 2022

I have introduced its own milestone for this issue, as it will definitely generate more issues.

@konnov konnov self-assigned this Mar 9, 2023
@konnov
Copy link
Contributor

konnov commented Mar 9, 2023

I am closing this issue. lmt solves this problem in a simple yet powerful way. I have written 3 markdown documents with it and it works much better than my initial idea of having markdown in comments. If we run into issues with lmt, we should design a new approach to literate specs, but not earlier than that.

@konnov konnov closed this as completed Mar 9, 2023
@shonfeder shonfeder reopened this Jul 19, 2023
@shonfeder
Copy link
Contributor Author

shonfeder commented Jul 19, 2023

Nice that we don't need to implement this 💃

Let's document the process tho, and set up an example with a makefile! :D

@shonfeder
Copy link
Contributor Author

Just a note as I'm looking at lmt and giving it a spin:

  • unreleased, unversioned, not available on any package managers
  • no tests I can see
  • the macro system seems unnecessary for our needs IMO
  • the CLI has no help or documentation

That said, the tool works as documented. I'll write up a note on a workflow for this to integrate with our tool for the time being. Still, we may want to consider finding or creating a more robust solution at some point.

shonfeder pushed a commit that referenced this issue Sep 28, 2023
shonfeder pushed a commit that referenced this issue Sep 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants