Reputation:
How does one figure out whether a library is "standard" in a Racket distribution?
Looking at https://docs.racket-lang.org/, it would seem that lots of libraries are included with Racket, but it turns out that only the ones from package base
are included (correct?), and it's not obvious from that page which is which. I didn't expect JSON would be in base, but it is. I would've expected threading to be in base, but it isn't. I was looking at SRFI/19 which seemed to not be included in standard Racket but it turns out I didn't have to download anything to get it. It's quite confusing.
Then, reading https://docs.racket-lang.org/guide/More_Libraries.html, it says:
The Racket distribution includes many additional libraries.
Does this mean that the Racket distribution also has third-party packages bundled? How do I know what packages are available out-of-box and which ones I have to download separately? How do I know which ones are "official" and which ones are community-contributed?
Upvotes: 5
Views: 79
Reputation: 8373
The packages included in the standard Racket distribution are the ones which the main-distribution
package depends on.
These are tagged with the main-distribution
tag on the package catalog, so you can see the list here:
https://pkgd.racket-lang.org/pkgn/search?tags=main-distribution
Keep in mind that this is a list of packages, not modules. The json
module is provided by the base
package, the scribble/reader
module is provided by the at-exp-lib
package, the framework
module is provided by the gui-lib
package, and so on.
So if you're wondering whether a module is in the main distribution or not, first look up what package it's provided by, and then see whether that package is in the main distribution.
Upvotes: 3