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.

Reply via email to