At Tue, 17 Feb 2015 19:59:38 -0500, Sam Tobin-Hochstadt wrote:
> On Tue, Feb 17, 2015 at 6:41 PM, Matthew Flatt <> wrote:
> > At Tue, 17 Feb 2015 14:12:54 -0500, Sam Tobin-Hochstadt wrote:
> > Does another system have a Racket-like in-place option (that works
> > better)?
> I haven't used it, but GHC has an in-place build option where you can
> install packages; see [1].

I don't have a lot of experience with GHC, but I have talked to some
GHC and Cabal developers about how they work with the package system.
Those discussions did not lead me to believe that they have an
especially smooth system for working with packages and updates in-place
--- and, in particular, that it's not the way they normally work. I'd
be happy to hear more from someone who routinely works that way with
GHC, though.

> I think the closer analogy is to what other software does when you run
> both `make` and `make install` analagous to Racket's unix-style
> installation, since that's the recommended way of building (eg
> Python), just as in-place is the recommended way of building Racket
> from source. I don't think any of those systems update packages when
> running `make install`.

I'm not sure what you're getting at here. We seem to agree that the
usual `make` plus `make install` is like Racket's `make unix-style`,
neither of which updates packages (other than the ones the makefile
knows about).

> > At Tue, 17 Feb 2015 17:40:36 -0500, Matthias Felleisen wrote:
> >> Speaking as the user I am, I really like it that make updates
> >> my extra-pkgs.
> >
> > Package scope provides one a way to get these different behaviors. The
> > current `make` updates only packages that are in installation scope,
> > and it also sets installation scope to be the default, so that's why
> > `make` tends to update everything that is installed. Maybe Sam should
> > install additional packages in user scope, and then `make` won't try to
> > update them.
> I expect that the packages that update for Matthias on `make` are
> packages in "main-distribution"

Ah, no. I've helped Matthias when problems break his installation, I've
noticed that he installs packages not in "main-distribution" (e.g.,
"marketplace"), and I believe he really does want those updated.

I had that context in mind but didn't think to spell it out as I should

> As an aside, the reason I don't install in user scope is that I switch
> between Racket implementations regularly, which would lead to
> out-of-date zo errors for all my user packages (instead, I get
> multiple copies of the packages).

You can give each installation a different name (using `raco pkg config
--set name ...`) to avoid the collision. That would be an extra step in
setting up each new installation, though.

I don't have a strong opinion on whether `make` should update packages
outside of "main-distribution", but the feedback I'm getting is

 * Sam doesn't think they should be updated --- but he also doesn't
   want packages in "main-distribution" updated, so he's going to use
   `make as-is`.

 * Everyone else who has spoken up seems to prefer an updating `make`,
   so far.

You received this message because you are subscribed to the Google Groups 
"Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
To post to this group, send email to
To view this discussion on the web visit
For more options, visit

Reply via email to