Okay. Good point about the relative difficulties of testing too. <div><br></div><div>I am for 3.</div><div><br></div><div>Robby<span></span><br><br>On Thursday, June 6, 2013, Matthew Flatt wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
At Wed, 5 Jun 2013 21:26:51 -0500, Robby Findler wrote:<br>
> For point 3., do you have a sense of what milestones we'd have to reach (at<br>
> what times) in order to have a successful release?<br>
<br>
The milestones I can see are<br>
<br>
* Get DrDr working with the new layout.<br>
<br>
* Automate snapshot and release builds (i.e., setting up client<br>
machines and writing the coordinating layer on top of `make server'<br>
and `make client').<br>
<br>
Those seem like "next week" milestones to me.<br>
<br>
Trying to characterize the milestones doesn't really seem to capture<br>
the potential danger at this point, though. If we can build installers<br>
that let users run DrRacket, then I think there's not so much that can<br>
go wrong in terms of delivering a release.<br>
<br>
There are some potential problems; for example, I think DrRacket's rule<br>
on when to compile packages in debugging mode needs a tweak. But that<br>
level of danger is different from, say, the dangers of re-implementing<br>
the snip, drawing, and GUI classes, where testing is more difficult.<br>
<br>
The big things that can go wrong are longer term, like finding that the<br>
package system doesn't do what we need and having to introduce a third<br>
package system. The catch is that it seems difficult to know more about<br>
what happens when we really adopt a way of working without really<br>
adopting it.<br>
<br>
<br>
At Wed, 5 Jun 2013 22:42:12 -0400, Sam Tobin-Hochstadt wrote:<br>
> - I'm not entirely happy with the -doc/-lib/etc split, since it seems<br>
> to make everything more verbose and difficult to work with. But I<br>
> haven't tried developing in that environment, so maybe it's not a big<br>
> deal. I also worry that it makes our repository less approachable to<br>
> new people.<br>
<br>
I agree. One possibility is that few packages will be split so finely<br>
--- only ones where the difference in dependencies is large and there<br>
are clients for the low-dependency "-lib" package (in constrained<br>
environments? in settings with frequent rebuilds?). If we don't<br>
anticipate such clients, however, maybe we shouldn't try it at all.<br>
<br>
> - We still don't have a ton of experience with the package system<br>
> itself -- it's designated as beta in the current release, and there<br>
> are very few packages with non-trivial dependencies. In contrast, the<br>
> core repository has a lot of dependencies. For example, how will we<br>
> deal with backwards-incompatible changes to the split itself, since<br>
> packages are intended to be permanently compatible?<br>
<br>
Yes. This is both a significant difference and an example of a point<br>
that's difficult to explore without the split. When we have a big core,<br>
lots of packages can have zero dependencies other than the implicit<br>
dependency on the core. When we have a small core, then there should be<br>
practically no packages without explicit dependencies --- when a<br>
package's dependencies are specified accurately, at least.<br>
<br>
<br>
At Wed, 05 Jun 2013 22:26:10 -0600, Neil Toronto wrote:<br>
> Figuring out the details will go 20 times faster when we're all<br>
> forced to work with them. I'm for #3.<br>
<br>
That's what I'm hoping.<br>
<br>
I think there are ways to gain more experience with the package system<br>
without committing to it for the next release. For example, we could<br>
have a parallel development track for a while. Those other options will<br>
have overhead (maintaining two automatic-build systems would not be<br>
fun, for example) and slow us down overall. I think we have time to<br>
make a new way work, especially if the new way is all we're trying to<br>
make work.<br>
<br>
_________________________<br>
Racket Developers list:<br>
<a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
</blockquote></div>