[racket] Architecture advice for new project

From: Danny Yoo (dyoo at hashcollision.org)
Date: Tue May 15 17:45:26 EDT 2012

On Tuesday, May 15, 2012, Chad Albers wrote:

> Definitely.  Using Racket's hashes, I can duplicate the same functionality.
>
> But this hash mechanism bothers me, because I see a informal
> convention developing in Rack middleware, where the middleware starts
> injecting it's own state into the hash, with hacky namespaces on the
> keys to prevent key collisions.  I would like to avoid that.
>
>


One of the things I notice about Racket's runtime library design is the use
of opaque values to avoid collisions.  For example, the way that structure
properties work is to create a unique value, a structure type property
descriptor, to be used as the "key".

     http://docs.racket-lang.org/reference/structprops.html

The advantage of this versus using a plain symbol is that the association
doesn't depend on the symbolic representation of the property's name, so
there's no collision potential between properties that are named similarly.
 Maybe you can do something similar?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20120515/6834f7ec/attachment-0001.html>

Posted on the users mailing list.