For my taste, I don't want to run any program on my files to "turn them into real Racket". So, I would not want to do this as a tool.
On the other hand, I would like to see us unify submodules and collections into a single concept and have consistent require path rules. For instance... - (require a) currently means (require a/main) - (require a/b) currently means (require a/b) I'd prefer a single consistent rule where if "a/b" exists, it is used, otherwise "a/b/main" is used, so that "main" is like "index.html" on the Web. Similarly, I would like to unify `(submod a/b c)` to just be `a/b/c`. The idea would be that when you see a module path, you search for the most specific file, so a/b/c would be... a/b/c a/b/c/main a/b submod c a submod b submod c This would allow a generalization of your tool where a single file could be any number of Racket modules (rooted in the file's module path), just allowing a straight-forward "single-file package" concept. Jay On Sat, Mar 12, 2016 at 3:09 AM, Neil Van Dyke <[email protected]> wrote: > Any comments on this? These Emacs screenshots show the tentative > "one-source-file package" format that I'd like to use for almost all of my > packages. I'd release a tool so that others can maintain their own packages > in this format, if they want to. > > http://www.neilvandyke.org/temporary/one-file-racket-package-1-color.png > http://www.neilvandyke.org/temporary/one-file-racket-package-1-mono.png > > The author of the package works only from this one source file. A simple > packaging-time tool would always regenerate the "sample.scrbl" and > "info.rkt" files from this source file (the source file would actually be > named "main.rkt", in a directory named "sample"). > > I put the metadata in an `info` submodule, and the embedded docs are pure > Scribble on lines prefixed by 3 semicolons. This is similar to my original > Scheme Funcelit format from eons ago (which is why Quack already colors it > somewhat), but made modern Racket idiomatic. Which means cryptic-looking > `info` submodule bulk in the file, but that's a tradeoff for the win of > consolidating an entire package source as one file. There is no > post-package-release-time dependency on something like "mcfly". > > Neil V. > > -- > 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 [email protected]. > For more options, visit https://groups.google.com/d/optout. -- Jay McCarthy Associate Professor PLT @ CS @ UMass Lowell http://jeapostrophe.github.io "Wherefore, be not weary in well-doing, for ye are laying the foundation of a great work. And out of small things proceedeth that which is great." - D&C 64:33 -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.

