[racket-dev] [plt] Push #25419: master branch updated

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Sat Oct 6 09:21:39 EDT 2012

On Fri, Oct 5, 2012 at 10:28 PM, Robby Findler
<robby at eecs.northwestern.edu> wrote:
> On Fri, Oct 5, 2012 at 8:55 PM, Eli Barzilay <eli at barzilay.org> wrote:
>> A few minutes ago, Sam Tobin-Hochstadt wrote:
>>> On Oct 5, 2012 9:16 PM, "Eli Barzilay" <eli at barzilay.org> wrote:
>>> >
>>> > 10 minutes ago, Robby Findler wrote:
>>> > > Oh, right. Duh.
>>> > >
>>> > > And even better, IMO, if it were futures-visualizer/typed/* were
>>> > > a place you could put this information.
>>> >
>>> > Yeah -- that would make distribution much easier, since it will be
>>> > another global convention, like `tests' and `scribblings'.
>>>
>>> I would like to keep things in the `typed' collection.  This
>>> maintains the symmetry with `typed/racket.  The other conventions
>>> like 'tests' are not externally visible.
>>
>> Yes, the required name would change -- but it's still much saner in
>> terms of authorship & maintenance than me having to keep a file in
>> your collection.
>
> I agree with this and I think earlier emails suggested that Sam
> doesn't trust others to write types for their libraries.

I'm really sorry if I've given that impression, because I don't think
that at all.  The typed interface for the futures visualizer that I
wrote at the beginning of this thread is just a plain Typed Racket
program, and James or you or anyone else could write it easily.  This
ought to be the case for any of the typed wrappers in the `typed/*`
collections.

For code that lives in the `typed-racket/base-env` directory, which is
trusted by TR, I'd want to look at modifications people make, and the
language there is internal and undocumented, so it might be harder for
other people to use, but I still trust people to write types for their
code.

> Also, Sam: can you explain what "externally visible" means in this context?

Just that we don't typically require `redex/tests` or
`drracket/scribblings` into other modules written outside of those
collections, whereas for `typed/file`, for example, the whole point is
to be used outside of the `typed` collection.
-- 
sam th
samth at ccs.neu.edu

Posted on the dev mailing list.