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

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Sat Oct 6 09:41:06 EDT 2012

On Sat, Oct 6, 2012 at 8:35 AM, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
> On Sat, Oct 6, 2012 at 9:25 AM, Robby Findler
> <robby at eecs.northwestern.edu> wrote:
>> On Sat, Oct 6, 2012 at 8:21 AM, Sam Tobin-Hochstadt <samth at ccs.neu.edu> wrote:
>>> 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.
>
>>>> 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.
>>
>> If it was drracket/scribblings/ and not scribblings/drracket, then I
>> would expect the index generation and top-level documentation building
>> to find that, which would be that kind of a require.
>>
>> Also, another precedent from the info.rkt files: drracket tools are
>> found by DrRacket by grovelling around in other collections. It seems
>> like we could have said that x/drracket-tool/main.rkt or something
>> like that is the standard entry point into DrRacket tools, instead of
>> using something specified by the info.rkt file.
>>
>> Even though the mechanism is different, I think the goal was the same:
>> let these things be specified outside the drracket collection, but use
>> them in drracket.
>
> One difference between these cases is that they're done by programs,
> not by people.  For me, being able to tell programmers the rule that
> "if you want the typed version of collection X, it's typed/X" is
> valuable.  This holds for languages (like `typed/racket`), as well as
> libraries like `typed/file`. If we change it, would we want to change
> the language to `racket/typed`?

I always thought that racket/typed is the more forward-looking name.
But I think it is fine to leave that alone and have two rules (in the
interest of progress).

We start to get into backwards compatibility issues, tho. So maybe the
right thing is to decide that x/typed is better than typed/x but treat
the existing set of things as existing for backwards compatibility
(and thus do require path munging to make existing programs not
break).

Robby

Posted on the dev mailing list.