Thanks a lot for your insights. I'll look into (module+test ...). Progedit 
looks great as well, it'd streamline a large part of my program.
I need to get familiar with Scribble and write proper documentation, but my 
time is very limited. As soon as I got a free weekend I'll give Scribble a 
better look.
I wasn't aware there was another way to use provide, thanks again for 
explaining.

Have a great day,

Dex

-----Original Message-----
From: Neil Van Dyke <n...@neilvandyke.org> 
Sent: Tuesday, May 8, 2018 12:25 PM
To: Dexter Lagan <dexterla...@gmail.com>; us...@racket-lang.org
Subject: Re: [racket-users] Provide form generator

Thank you for contributing.  A few suggestions:

* You probably want to put your unit tests, and the `(require rackunit)`, 
inside `(module+ test ...)` forms.  That makes it better as a library or 
program, and also is what Racket expects for testing.

* You can make this a full-fledged Racket package, with an `info.rkt` and 
Scribble documentation, and listing it on "http://pkgs.racket-lang.org/";.  See: 
https://docs.racket-lang.org/pkg/index.html

* You can make your program automatically add&update the `provide` form in 
user's files, and perhaps `progedit` is helpful for that: 
http://www.neilvandyke.org/racket/progedit/

* There seem to be two schools of thought on where `provide` belongs: 
(1) one big form near the top/bottom of the file or module, like an interface 
summary; and (2) locating the `provided`-ness information of a symbol at the 
definition site, such as through a `provide` form right next to the `define` 
form, or with syntax that combines `provide` and `define`.  So, while you're 
using a tool you developed for #1, remember that #2 is something you might also 
want to try sometime.


-- 
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.

Reply via email to