It's also worth considering that you can munge the names when you
provide -- and your users can munge them on require.

See filtered-out and filtered-in -- as well as the more commonly used
conveniences built on them, like prefix-{in out}, rename-{in out}, and
so on.

I think sometimes the goodness of a name can depend on the context
where it's being used.

If I'm implementing functions in money.rkt, it might be tedious to
have "money- money- money- money-" everywhere. The low signal:noise
ratio might detract from readability. Might cause expressions not to
fit on one line. And so on. If that bothers me, I can name functions
deposit and convert, and (provide (prefix-out money- deposit convert)
so users see money-deposit, money-convert.

It's also an interesting option to provide just the short names
deposit and convert, and assume that users will (require (prefix-in
money- "money.rkt")) -- or whatever prefix they want. Although this is
idiomatic in some langs/communities, it's not AFAICT in Racket.

Fortunately Racket makes it easy to adapt provided and required names.

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 
For more options, visit

Reply via email to