Following up on our discussion here, I created a Github repository and would like to get some feedback.
I hope it's ok to quote the README here:
Racket Glossary
This project hopefully will result in a glossary to be included in the Racket documentation to help primarily Racket beginners and intermediate users understand Racket concepts and interactions between them.
Purpose
-
Give definitions of terms used in Racket and Scheme in general.
-
Help beginning and intermediate users understand terms encountered in the Racket documentation. Assume that readers are familiar with imperative programming, but not with functional programming, Scheme and Racket. Therefore, some entries may contain comparisons with related features in other programming languages.
-
Provide context. So some entries may have more content than you'd usually expect from a glossary.
Format
I'd like to see this glossary end up in the Racket documentation, so eventually it needs to be converted to Racket's documentation language Scribble. On the other hand, I think we should use a simpler format like Markdown for easier contributions until the content is good enough to be included in the Racket documentation.
Ideally, it would be great if there was a tool to convert Markdown to Scribble automatically. I haven't found one yet. The open source go-to tool for text format conversions is Pandoc, but while it supports different Markdown dialects as input formats, it currently doesn't support Scribble as output format. However, it should be possible to write a custom Pandoc writer to support Scribble as an output format. That's something for a different project though.
Contributions
At the moment, the file glossary.md
contains only a list of terms to be included in the glossary.
My current plan to build the glossary is:
- Get feedback on the selection of the terms. For example, is something missing?
- Convert the terms to headings and add some of my thoughts as stubs to build upon.
- Wait for contributors to offer pull requests.
I suggest doing step 1 on the Racket Discourse instance.
License
See the file LICENSE.
Hence, according to the first step described in the README, I'd like your feedback on the terms in the glossary. Of course, other feedback is welcome, too. Does this go into a direction you like?
Edit: The above is the README at the time I wrote the post. The current README is here.