Re: [racket-dev] [racket] DrRacket Tools/plugins info wanted

2013-07-30 Thread Matthias Felleisen

I think it would also help if the doc pages cited by the OP were to list all 
tools coming with the main distribution and explain how to disable them a bit 
more. That's less work than coding. -- Matthias






On Jul 29, 2013, at 1:01 PM, Robby Findler wrote:

 [moved to dev@] Would it be something to shoot for with the package-based 
 release: only getting a minimal set of tools/plugins (like Stephen's set) 
 when the drracket package is the only one installed (starting from a minimal 
 racket)?
 
 Robby
 
 
 On Mon, Jul 29, 2013 at 8:32 AM, Stephen De Gabrielle 
 stephen.degabrie...@acm.org wrote:
 Hi, 
 
 I delete anything that I recognise  don't use, (and leave the stuff I don't 
 understand alone).
 
 I remove the teaching languages, slideshow, swindle, lazy. 
  
 If you find racket doesn't launch you can always manually edit the 
 preferences file.
 
 My suggested working minimum is 
 Check Syntax
 Graphical Debugger
 Macro Stepper
 
 I like to include RackUnit
 
 
 HTH
 
 Stephen
 image.png
 
 --
 Stephen De Gabrielle
 
 
 
 On Mon, Jul 29, 2013 at 8:46 AM, Jon Kleiser jon.klei...@usit.uio.no wrote:
 Hi,
 
 On one of my older Macs, DrRacket uses quite some time to launch, and I 
 wondered if disabling some of the 17 Tools in the Preferences could help. 
 Before disabling any of these, however, I'd like some info about what they 
 really do. Looking here didn't make me any wiser:
 http://docs.racket-lang.org/drracket/prefs-explanation.html#%28part._.Tools%29
 ... except that those tools are also called plugins.
 
 I cannot see that this page http://docs.racket-lang.org/tools/ has the info 
 that I'm looking for either.
 
 /Jon
 
  Racket Users list:
  http://lists.racket-lang.org/users
 
 
 
   Racket Users list:
   http://lists.racket-lang.org/users
 
 
 
  Racket Users list:
  http://lists.racket-lang.org/users

_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] git submodule for native-library packages

2013-07-30 Thread Greg Hendershott
A report from the junior varsity squad:

I just tried this on OS X and it worked AOK.

FWIW I've been strictly doing `git pull --ff-only upstream master` to
keep my fork's master 100% in sync with PLT's. Any experimentation or
feature requests done solely on topic branches. (Like I wrote about
here: 
http://www.greghendershott.com/2013/04/a-guide-for-infrequent-contributors-to-racket.html
)

I don't yet know enough about Git submodules to understand the analog
of that workflow for submodules, if any. I suspect it will be moot
because I'll probably never doink around with the kind of stuff in
native-pkgs. However if submodules start to get used more extensively
I guess I may need to learn more about submodules.


On Sat, Jul 27, 2013 at 9:10 AM, Matthew Flatt mfl...@cs.utah.edu wrote:
 Nothing has been split out of the current git repository, but there is
 now a native-pkgs git submodule for the native-library packages.

 If you build on Mac OS X or Windows or if you run a snapshot build,
 then you'll need to use

   git pull
   git submodule init
   git submodule update

 once on each repository checkout from now on, and

   git pull
   git submodule update

 for updates after the first checkout.

 If you just `git pull' without the submodule commands, then you'll have
 an empty native-pkgs directory. That's fine if you're building on,
 say, Linux. If you're on Mac OS X or Windows, then the makefile should
 give you a good error message and suggest using `git submodule init'
 and `git submodule update'.

 If you use `git submodule update' today and forget to use it in the
 future, probably things will be fine for a long time, because
 native-pkgs doesn't change often. If native-pkgs does change and
 you forget `git submodule update', then (as I understand things) `git
 status' will tell you that there's a mismatch. The mismatch report
 might take a form that's not entirely clear, but it should be enough to
 remind you to run `git submodule update'.


 I'm still unsure that submodules are going to be useful for managing a
 kind of main-distribution repository with references to package
 repositories. I'm much more confident that a submodule will work for
 the native-library packages in the current build structure. The native
 libraries are already kept in a separate repository, they change
 infrequently, and almost no one has to change them. Also, the
 native-pkgs git submodule replaces two things that I think were just
 bad forms of `git submodule update':

  * A makefile target that fires on Mac OS X and uses `git pull', which
is bad if you happen to be working offline.

  * A note in INSTALL.txt that tells Windows users to manually clone a
particular git repository.

 If a git submodule does not work out for native-library packages after
 all, then should be easy to roll back, since there was no split to
 rewind. Meanwhile, we get a little experience with git submodules.

 _
   Racket Developers list:
   http://lists.racket-lang.org/dev
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] git submodule for native-library packages

2013-07-30 Thread Asumu Takikawa
On 2013-07-27 07:10:54 -0600, Matthew Flatt wrote:
 I'm still unsure that submodules are going to be useful for managing a
 kind of main-distribution repository with references to package
 repositories.

Perhaps it would be worth considering using the git subtree feature
instead of submodules for the rest of the repository (just to clarify,
I'm not saying we should reconsider submodules for native-pkgs).

Description here:

  https://github.com/apenwarr/git-subtree/blob/master/git-subtree.txt

In particular, this aspect seems useful for us:
  you can also extract the entire history of a subdirectory from
   your project and make it into a standalone project

From what I understand (not having used them yet), subtrees also enable
end users of our main repo to just do a clone without any special
consideration for the subtrees. Only package maintainers would have to
occasionally update the subtrees in the main repo to pull in changes
from their own package repos.

Cheers,
Asumu
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] git submodule for native-library packages

2013-07-30 Thread Carl Eastlund
I looked into git-subtree, and as I recall it, nothing in the setup recalls
what subtree is used for what.  Every git-subtree command you enter has to
be fully explicit, which is a big hassle.  Whereas git-submodule saves its
state in the repository, so it knows what it's being used for and you only
need to do it once.  Hopefully I misunderstood git-subtree, but if I
didn't, I found its interface disappointing.

Carl Eastlund


On Tue, Jul 30, 2013 at 5:41 PM, Asumu Takikawa as...@ccs.neu.edu wrote:

 On 2013-07-27 07:10:54 -0600, Matthew Flatt wrote:
  I'm still unsure that submodules are going to be useful for managing a
  kind of main-distribution repository with references to package
  repositories.

 Perhaps it would be worth considering using the git subtree feature
 instead of submodules for the rest of the repository (just to clarify,
 I'm not saying we should reconsider submodules for native-pkgs).

 Description here:

   https://github.com/apenwarr/git-subtree/blob/master/git-subtree.txt

 In particular, this aspect seems useful for us:
   you can also extract the entire history of a subdirectory from
your project and make it into a standalone project

 From what I understand (not having used them yet), subtrees also enable
 end users of our main repo to just do a clone without any special
 consideration for the subtrees. Only package maintainers would have to
 occasionally update the subtrees in the main repo to pull in changes
 from their own package repos.

 Cheers,
 Asumu
 _
   Racket Developers list:
   http://lists.racket-lang.org/dev

_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] git submodule for native-library packages

2013-07-30 Thread Asumu Takikawa
On 2013-07-30 17:44:37 -0400, Carl Eastlund wrote:
  I looked into git-subtree, and as I recall it, nothing in the setup
  recalls what subtree is used for what.  Every git-subtree command you
  enter has to be fully explicit, which is a big hassle. 

AFAIK, you are correct. OTOH, I imagine that using subtree commands is
actually going to be relatively rare. Here is my reasoning:

  * You are a developer on a Racket main distribution package:
- Most of your commits will be local to that package while you
  work on it. Let's assume this is in a separate repo (otherwise
  the subtree thing is moot)
- You'll work on a working copy of that package installed instead
  of the core package that ships with release Racket
  (using `raco pkg` to set up the links)
- Assuming the last two points, you are unlikely to use any
  subtree commands until the changes need to be merged for a
  release or for wider use/testing.

  * You are a power user of Racket:
- You'll just clone the whole Racket git repo and automatically
  get all of the subtrees. No additional effort necessary unless
  you want to make changes.

  * You are a developer responsible for the release:
- You will probably end up pulling all subtrees (which is pretty
  manual work) and then cherry-pick all relevant commits.

In comparison, I think submodules are supposed to make it less
convenient for the power user who is just cloning the repo. That said,
this isn't informed by a lot of experience with either feature, so
please take with a salt mine.

Maybe I will try this with Typed Racket somewhere and see what happens.

Cheers,
Asumu
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] git submodule for native-library packages

2013-07-30 Thread Asumu Takikawa
On 2013-07-31 00:04:20 -0400, Asumu Takikawa wrote:
 Maybe I will try this with Typed Racket somewhere and see what happens.

One downside I discovered immediately after trying to set this up:
the subtree command is only available in git 1.7.11 and newer and it's
only available if the contrib tools are packaged in your git install
(it's not in Debian).

I tried using the subtree command to split out the main Typed Racket
package into a separate repo. The result is here:
  https://github.com/takikawa/typed-racket-lib

One issue is that the new repo only has history going back until the
package split. This makes sense, given that the old paths are nonsense
in the new repo. Maybe this is ok if the main Racket repo still has the
history though.

Unfortunately, this experiment didn't work very well. Doing a `git
subtree pull` with just one simple new commit caused a spurious merge
conflict, due to the fact that the new repo's SHA1s are different.
Splitting out the package will require more clever git hackery.

Cheers,
Asumu
_
  Racket Developers list:
  http://lists.racket-lang.org/dev