tl;dr Is there a clear 'HOWTO' for how to write packages such that they can be put up on https://pkgs.racket-lang.org/ and subsequently installed by people who aren't the developer?
Long version: The Racket documentation is great, but often not terribly helpful unless you're willing to sink a lot of time in. Packages is a good example; I've been writing Racket for a year and a half now, I have a Github repository with a bunch of working code in it, and we've been using that code at my company. When my co-worker wants to use it he git clone's it, adds a path to $PLTCOLLECTS and away he goes. Despite all that, I find myself unable to grok the package documentation at https://docs.racket-lang.org/pkg/index.html Yesterday (day before?) I decided to actually put my code up on https://pkgs.racket-lang.org/ so that it could be installed through the normal raco pkg system. It was easy -- put in a name, some tags, a github link, boom. All good. It was only later that I found the package is failing and cannot be downloaded due to a checksum problem. "Checksum problem?" I said to myself. "I didn't know there was anything about a checksum. The documentation made it sound like I simply had to point it at a repository. Well, let me go RTFM and see what I did wrong." An hour later I am intensely frustrated and no closer to actually solving the problem. I try to read this stuff and it simply bounces. Here's a good example, quoted directly from https://docs.racket-lang.org/pkg/getting-started.html : "A package is not something that you refer to directly in your Racket programs. Instead, a package is a set of libraries that fit into the collection hierarchy, and you refer to libraries through their collection-based paths. Libraries that are close in the hierarchy may be provided by different packages, while a single package may provide libraries that are far from each other in the hierarchy (but that are conceptually related, somehow)." This leaves me no wiser as to what the hell these things actually are in practical terms, which isn't terribly reassuring since this is the initial paragraph of the "What is a Package?" section. Could someone please Explain Like I'm 5 ? Or, preferably, point me to a source that does that? Here's what my filesystem looks like: /home/dstorrs/.../racket/handy |-- utils.rkt |-- list-utils.rkt |-- db.rkt ...etc In my code I can do this: (require handy/utils) and it works fine. I have no idea what in here is the package, the collection, the library, etc. I'm guessing that 'utils.rkt' is a library but no idea on the rest. If I can actually get a handle on all this I'm perfectly happy to write a "How to Develop Packages for Idiots and English Majors" document and submit it for inclusion. In the meantime I'll go beat my head on the docs some more. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.