[racket-dev] another Planet2 Express memo

2013-06-28 Thread Matthew Flatt
Good news, everyone! I've improved the top-level makefile in a way that
probably breaks your existing repo checkout. Then again, there's a
chance that things will appear to work for now, delaying problems until
sometime later.

To avoid problems, delete racket/lib/links.rktd and
racket/lib/pkgs. Read on if you care about the details.


The default `make' target now recognizes the `PKGS' definition to
select a set of packages from the pkgs directory to be linked for
development mode. This lets you create a development-mode build using
less than the full set of packages. For example,

 make PKGS=gui-lib

creates a build that links only the package gui-lib and its
dependencies.

Formerly, since all packages from pkgs were always linked, `make'
could update each existing link based on whether its package was still
in place. That strategy doesn't work as well when only a subset of
packages are meant to be installed and `PKGS' or dependencies can
change --- especially when you install your own installation-wide links
for other packages (e.g., sirmail, in my case).

The new strategy is to keep all links installed by `make' in a separate
installed-package database. When you run `make', it puts the database
of package links in racket/lib/devel-pkgs, and it writes
racket/etc/config.rktd to add suitable search paths. When you re-run
`make', it throws away the old directory and recreates the set of
links. Any other packages or links that you install in normal
installation-wide mode are unaffected.

When you run `raco pkg show' after a clean build, you'll see something
like this:

 /racket/lib/devel-pkgs:
  Package[*=auto]  ChecksumSource
  at-exp-lib*  #f  (link /pkgs/racket-pkgs/at-exp-lib)
  compatibility-lib*   #f  (link /pkgs/compatibility-lib)
  data-lib*#f  (link /pkgs/data-lib)
  draw-lib*#f  (link /pkgs/draw-pkgs/draw-lib)
  ...
 Installation-wide:
  [none]
 User-specific, all-version:
  [none]
 User-specific, version-specific (5.3.900.2):
  [none]

which shows that the links are installed in a
/racket/lib/devel-pkgs scope.

If you start from an old build, then you're going to see something more
like this:

 /racket/lib/devel-pkgs:
  Package[*=auto]  ChecksumSource
  at-exp-lib*  #f  (link /pkgs/racket-pkgs/at-exp-lib)
  compatibility-lib*   #f  (link /pkgs/compatibility-lib)
  data-lib*#f  (link /pkgs/data-lib)
  draw-lib*#f  (link /pkgs/draw-pkgs/draw-lib)
  ...
 Installation-wide:
  at-exp-lib   #f  (link /pkgs/racket-pkgs/at-exp-lib)
  compatibility-lib#f  (link /pkgs/compatibility-lib)
  data-lib #f  (link /pkgs/data-lib)
  draw-lib #f  (link /pkgs/draw-pkgs/draw-lib)
  
 User-specific, all-version:
  [none]
 User-specific, version-specific (5.3.900.2):
  [none]

which shows that many packages are links in two different scopes. The
Installation-wide scope takes precedence --- and that's fine until
package move around long enough that the installation-scope links go
bad, since they aren't updated anymore by `make'. So, remove all of the
Installation-wide links, probably by deleting the file and directory
as suggested near the top of this message.

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


Re: [racket-dev] another Planet2 Express memo

2013-06-28 Thread Eli Barzilay
A few minutes ago, Matthew Flatt wrote:
 
 To avoid problems, delete racket/lib/links.rktd and
 racket/lib/pkgs. [...]

Quick note: a useful thing to know for such cases is

git clean -dX -f

which will make git remove all files that are ignored.  Since the
.gitignore files are all setup to list built stuff, it should leave
you in a clean state with no pre-built stuff.  It will not delete
new files that are not ignored, so if there are new source files they
will be kept.

-- 
  ((lambda (x) (x x)) (lambda (x) (x x)))  Eli Barzilay:
http://barzilay.org/   Maze is Life!
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


[racket-dev] why raco exe gives a data file in SunOS?

2013-06-28 Thread WarGrey Gyoudmon Ju
I reported this bug here:
http://bugs.racket-lang.org/query/?cmd=view%20audit-traildatabase=defaultpr=13852return_url=http%3A%2F%2Fbugs.racket-lang.org%2Fquery%2F%3Fdatabase%3Ddefault%3Bdebug%3D%3Bcmd%3Dsubmit%2520query%3BState%3Dany%3Bignoreclosed%3DIgnore%2520Closed%3BSynopsis%3Draco%2520exe%3Bmultitext%3D%3Bcolumns%3DState%3Bcolumns%3DSynopsis%3Bcolumns%3DCategory%3Bcolumns%3DLast-Modified%3Bcolumns%3DRelease%3Bsortby%3DNumber

I use OpenIndiana rather than Oracle Solaris.

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


Re: [racket-dev] Things we could move out of the core

2013-06-28 Thread Sam Tobin-Hochstadt
On Thu, Jun 27, 2013 at 8:45 PM, Robby Findler
ro...@eecs.northwestern.edu wrote:
 Did you consider moving #lang mzscheme out as well?

I've now created another pull request that does this, here:
https://github.com/plt/racket/pull/377

There's one remaining question.  The `make-base-namespace` procedure
provided by `mzscheme` attaches the `mzscheme` module.  But this pull
request removes that module, so it can't be attached or required in
this code.  The alternatives are:

1. Just attach/require `scheme/mzscheme`.  Slightly incompatible in
some corner cases.
2. Don't remove `mzscheme` from the core.
3. Remove `make*-namespace` from `scheme/mzscheme` and implement them
in the `mzscheme` collection in the `mzscheme` package.

I'm currently leaning toward 3 but I'd appreciate anyone else's thoughts.

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


Re: [racket-dev] Things we could move out of the core

2013-06-28 Thread Matthew Flatt
At Fri, 28 Jun 2013 14:38:03 -0400, Sam Tobin-Hochstadt wrote:
 On Thu, Jun 27, 2013 at 8:45 PM, Robby Findler
 ro...@eecs.northwestern.edu wrote:
  Did you consider moving #lang mzscheme out as well?
 
 I've now created another pull request that does this, here:
 https://github.com/plt/racket/pull/377
 
 There's one remaining question.  The `make-base-namespace` procedure
 provided by `mzscheme` attaches the `mzscheme` module.  But this pull
 request removes that module, so it can't be attached or required in
 this code.  The alternatives are:
 
 1. Just attach/require `scheme/mzscheme`.  Slightly incompatible in
 some corner cases.
 2. Don't remove `mzscheme` from the core.
 3. Remove `make*-namespace` from `scheme/mzscheme` and implement them
 in the `mzscheme` collection in the `mzscheme` package.
 
 I'm currently leaning toward 3 but I'd appreciate anyone else's thoughts.

Is there some reason that `scheme/mzscheme' can't move to the
mzscheme package (along with `racket/private/stxmz-body')?

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


Re: [racket-dev] Things we could move out of the core

2013-06-28 Thread Sam Tobin-Hochstadt
On Fri, Jun 28, 2013 at 5:02 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
 At Fri, 28 Jun 2013 14:38:03 -0400, Sam Tobin-Hochstadt wrote:
 On Thu, Jun 27, 2013 at 8:45 PM, Robby Findler
 ro...@eecs.northwestern.edu wrote:
  Did you consider moving #lang mzscheme out as well?

 I've now created another pull request that does this, here:
 https://github.com/plt/racket/pull/377

 There's one remaining question.  The `make-base-namespace` procedure
 provided by `mzscheme` attaches the `mzscheme` module.  But this pull
 request removes that module, so it can't be attached or required in
 this code.  The alternatives are:

 1. Just attach/require `scheme/mzscheme`.  Slightly incompatible in
 some corner cases.
 2. Don't remove `mzscheme` from the core.
 3. Remove `make*-namespace` from `scheme/mzscheme` and implement them
 in the `mzscheme` collection in the `mzscheme` package.

 I'm currently leaning toward 3 but I'd appreciate anyone else's thoughts.

 Is there some reason that `scheme/mzscheme' can't move to the
 mzscheme package (along with `racket/private/stxmz-body')?

Because large portions of the core are written in the `mzscheme`
language (or `scheme/mzscheme`, after my patch), some of which feature
evaluating code in mzscheme-like namespaces.  If we can somehow get
around the latter problem, then the former is a Small Matter of
Programming, but it'll take a little while.

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


Re: [racket-dev] Things we could move out of the core

2013-06-28 Thread Matthew Flatt
At Fri, 28 Jun 2013 17:08:19 -0400, Sam Tobin-Hochstadt wrote:
 On Fri, Jun 28, 2013 at 5:02 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
  At Fri, 28 Jun 2013 14:38:03 -0400, Sam Tobin-Hochstadt wrote:
  On Thu, Jun 27, 2013 at 8:45 PM, Robby Findler
  ro...@eecs.northwestern.edu wrote:
   Did you consider moving #lang mzscheme out as well?
 
  I've now created another pull request that does this, here:
  https://github.com/plt/racket/pull/377
 
  There's one remaining question.  The `make-base-namespace` procedure
  provided by `mzscheme` attaches the `mzscheme` module.  But this pull
  request removes that module, so it can't be attached or required in
  this code.  The alternatives are:
 
  1. Just attach/require `scheme/mzscheme`.  Slightly incompatible in
  some corner cases.
  2. Don't remove `mzscheme` from the core.
  3. Remove `make*-namespace` from `scheme/mzscheme` and implement them
  in the `mzscheme` collection in the `mzscheme` package.
 
  I'm currently leaning toward 3 but I'd appreciate anyone else's thoughts.
 
  Is there some reason that `scheme/mzscheme' can't move to the
  mzscheme package (along with `racket/private/stxmz-body')?
 
 Because large portions of the core are written in the `mzscheme`
 language (or `scheme/mzscheme`, after my patch), some of which feature
 evaluating code in mzscheme-like namespaces.  If we can somehow get
 around the latter problem, then the former is a Small Matter of
 Programming, but it'll take a little while.

Ah --- I had not actually looked at 9587a2f.

I guess I'm confused on the goal, since I don't see changing `mzscheme'
to `scheme/mzscheme' as a step forward. Can you say more about the
intent of changing `mzscheme' to `scheme/mzscheme'?

Meanwhile, I worry that options 1 and 3 can create subtle and confusing
bugs/incompatibilities. (I've spent a lot of time on problems that
happened due to accidentally choosing similar options in the past.)

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


Re: [racket-dev] Things we could move out of the core

2013-06-28 Thread Sam Tobin-Hochstadt
On Fri, Jun 28, 2013 at 5:17 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
 At Fri, 28 Jun 2013 17:08:19 -0400, Sam Tobin-Hochstadt wrote:
 On Fri, Jun 28, 2013 at 5:02 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
  At Fri, 28 Jun 2013 14:38:03 -0400, Sam Tobin-Hochstadt wrote:
  On Thu, Jun 27, 2013 at 8:45 PM, Robby Findler
  ro...@eecs.northwestern.edu wrote:
   Did you consider moving #lang mzscheme out as well?
 
  I've now created another pull request that does this, here:
  https://github.com/plt/racket/pull/377
 
  There's one remaining question.  The `make-base-namespace` procedure
  provided by `mzscheme` attaches the `mzscheme` module.  But this pull
  request removes that module, so it can't be attached or required in
  this code.  The alternatives are:
 
  1. Just attach/require `scheme/mzscheme`.  Slightly incompatible in
  some corner cases.
  2. Don't remove `mzscheme` from the core.
  3. Remove `make*-namespace` from `scheme/mzscheme` and implement them
  in the `mzscheme` collection in the `mzscheme` package.
 
  I'm currently leaning toward 3 but I'd appreciate anyone else's thoughts.
 
  Is there some reason that `scheme/mzscheme' can't move to the
  mzscheme package (along with `racket/private/stxmz-body')?

 Because large portions of the core are written in the `mzscheme`
 language (or `scheme/mzscheme`, after my patch), some of which feature
 evaluating code in mzscheme-like namespaces.  If we can somehow get
 around the latter problem, then the former is a Small Matter of
 Programming, but it'll take a little while.

 Ah --- I had not actually looked at 9587a2f.

 I guess I'm confused on the goal, since I don't see changing `mzscheme'
 to `scheme/mzscheme' as a step forward. Can you say more about the
 intent of changing `mzscheme' to `scheme/mzscheme'?

The intent is to reduce the API surface area provided by the core.
Note that `scheme/mzscheme` is not a documented API.  Thus, moving the
`mzscheme` language and collection would require anyone who depended
on them to explicitly depend on another package. At some later point,
we finish implementing the core without using `scheme/mzscheme`, move
the actual implementation of `mzscheme` to the `mzscheme` package,
without any compatibility problems.

 Meanwhile, I worry that options 1 and 3 can create subtle and confusing
 bugs/incompatibilities. (I've spent a lot of time on problems that
 happened due to accidentally choosing similar options in the past.)

(1) definitely has the potential for subtle bugs. I believe that (3)
is semantics preserving *except* insofar as some part of the core was
using the `mzscheme` namespace creation functions, and would thus work
differently. However, there are only two places in the core that use
`make-namespace` from `mzscheme`.  They are (a) the `setup/unpack`
code using `eval` that you plan to remove and (b) a part of
`compiler/private/xform.rkt` for loading precompiled headers. I don't
know what the latter does, or if changing it to use a Racket namespace
would have the potential to introduce bugs.

But yes, there's definitely a worry about subtle bugs here.

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


Re: [racket-dev] Things we could move out of the core

2013-06-28 Thread Matthew Flatt
At Fri, 28 Jun 2013 17:43:42 -0400, Sam Tobin-Hochstadt wrote:
 On Fri, Jun 28, 2013 at 5:17 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
  At Fri, 28 Jun 2013 17:08:19 -0400, Sam Tobin-Hochstadt wrote:
  On Fri, Jun 28, 2013 at 5:02 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
   At Fri, 28 Jun 2013 14:38:03 -0400, Sam Tobin-Hochstadt wrote:
   On Thu, Jun 27, 2013 at 8:45 PM, Robby Findler
   ro...@eecs.northwestern.edu wrote:
Did you consider moving #lang mzscheme out as well?
  
   I've now created another pull request that does this, here:
   https://github.com/plt/racket/pull/377
  
   There's one remaining question.  The `make-base-namespace` procedure
   provided by `mzscheme` attaches the `mzscheme` module.  But this pull
   request removes that module, so it can't be attached or required in
   this code.  The alternatives are:
  
   1. Just attach/require `scheme/mzscheme`.  Slightly incompatible in
   some corner cases.
   2. Don't remove `mzscheme` from the core.
   3. Remove `make*-namespace` from `scheme/mzscheme` and implement them
   in the `mzscheme` collection in the `mzscheme` package.
  
   I'm currently leaning toward 3 but I'd appreciate anyone else's 
   thoughts.
  
   Is there some reason that `scheme/mzscheme' can't move to the
   mzscheme package (along with `racket/private/stxmz-body')?
 
  Because large portions of the core are written in the `mzscheme`
  language (or `scheme/mzscheme`, after my patch), some of which feature
  evaluating code in mzscheme-like namespaces.  If we can somehow get
  around the latter problem, then the former is a Small Matter of
  Programming, but it'll take a little while.
 
  Ah --- I had not actually looked at 9587a2f.
 
  I guess I'm confused on the goal, since I don't see changing `mzscheme'
  to `scheme/mzscheme' as a step forward. Can you say more about the
  intent of changing `mzscheme' to `scheme/mzscheme'?
 
 The intent is to reduce the API surface area provided by the core.
 Note that `scheme/mzscheme` is not a documented API.  Thus, moving the
 `mzscheme` language and collection would require anyone who depended
 on them to explicitly depend on another package. At some later point,
 we finish implementing the core without using `scheme/mzscheme`, move
 the actual implementation of `mzscheme` to the `mzscheme` package,
 without any compatibility problems.

I see what you mean, but it feels wrong to me that `scheme/mzscheme'
exists and isn't documented. I'd prefer to work toward getting it in
the right package and documented.

  Meanwhile, I worry that options 1 and 3 can create subtle and confusing
  bugs/incompatibilities. (I've spent a lot of time on problems that
  happened due to accidentally choosing similar options in the past.)
 
 (1) definitely has the potential for subtle bugs. I believe that (3)
 is semantics preserving *except* insofar as some part of the core was
 using the `mzscheme` namespace creation functions, and would thus work
 differently. However, there are only two places in the core that use
 `make-namespace` from `mzscheme`.  They are (a) the `setup/unpack`
 code using `eval` that you plan to remove and (b) a part of
 `compiler/private/xform.rkt` for loading precompiled headers. I don't
 know what the latter does, or if changing it to use a Racket namespace
 would have the potential to introduce bugs.
 
 But yes, there's definitely a worry about subtle bugs here.

There's also the issue that `scheme/mzscheme' introduces an
`for-syntax' import of `scheme/mzscheme', and not a `for-syntax' import
of `mzscheme', so `make-base-namespace' would disappear from phase 1 in
`mzscheme' --- if I'm following correctly.

So, I think option 2 is right for now, and we should eventually spend
cycles on really getting `mzscheme' out of the core.

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


Re: [racket-dev] Things we could move out of the core

2013-06-28 Thread Sam Tobin-Hochstadt
On Fri, Jun 28, 2013 at 6:02 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
 At Fri, 28 Jun 2013 17:43:42 -0400, Sam Tobin-Hochstadt wrote:
 On Fri, Jun 28, 2013 at 5:17 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
  At Fri, 28 Jun 2013 17:08:19 -0400, Sam Tobin-Hochstadt wrote:
  On Fri, Jun 28, 2013 at 5:02 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
   At Fri, 28 Jun 2013 14:38:03 -0400, Sam Tobin-Hochstadt wrote:
   On Thu, Jun 27, 2013 at 8:45 PM, Robby Findler
   ro...@eecs.northwestern.edu wrote:
Did you consider moving #lang mzscheme out as well?
  
   I've now created another pull request that does this, here:
   https://github.com/plt/racket/pull/377
  
   There's one remaining question.  The `make-base-namespace` procedure
   provided by `mzscheme` attaches the `mzscheme` module.  But this pull
   request removes that module, so it can't be attached or required in
   this code.  The alternatives are:
  
   1. Just attach/require `scheme/mzscheme`.  Slightly incompatible in
   some corner cases.
   2. Don't remove `mzscheme` from the core.
   3. Remove `make*-namespace` from `scheme/mzscheme` and implement them
   in the `mzscheme` collection in the `mzscheme` package.
  
   I'm currently leaning toward 3 but I'd appreciate anyone else's 
   thoughts.
  
   Is there some reason that `scheme/mzscheme' can't move to the
   mzscheme package (along with `racket/private/stxmz-body')?
 
  Because large portions of the core are written in the `mzscheme`
  language (or `scheme/mzscheme`, after my patch), some of which feature
  evaluating code in mzscheme-like namespaces.  If we can somehow get
  around the latter problem, then the former is a Small Matter of
  Programming, but it'll take a little while.
 
  Ah --- I had not actually looked at 9587a2f.
 
  I guess I'm confused on the goal, since I don't see changing `mzscheme'
  to `scheme/mzscheme' as a step forward. Can you say more about the
  intent of changing `mzscheme' to `scheme/mzscheme'?

 The intent is to reduce the API surface area provided by the core.
 Note that `scheme/mzscheme` is not a documented API.  Thus, moving the
 `mzscheme` language and collection would require anyone who depended
 on them to explicitly depend on another package. At some later point,
 we finish implementing the core without using `scheme/mzscheme`, move
 the actual implementation of `mzscheme` to the `mzscheme` package,
 without any compatibility problems.

 I see what you mean, but it feels wrong to me that `scheme/mzscheme'
 exists and isn't documented. I'd prefer to work toward getting it in
 the right package and documented.

Do you see an advantage to documenting it, over just having `mzscheme`
documented (and perhaps moving `scheme/mzscheme` to `racket/private`)?

  Meanwhile, I worry that options 1 and 3 can create subtle and confusing
  bugs/incompatibilities. (I've spent a lot of time on problems that
  happened due to accidentally choosing similar options in the past.)

 (1) definitely has the potential for subtle bugs. I believe that (3)
 is semantics preserving *except* insofar as some part of the core was
 using the `mzscheme` namespace creation functions, and would thus work
 differently. However, there are only two places in the core that use
 `make-namespace` from `mzscheme`.  They are (a) the `setup/unpack`
 code using `eval` that you plan to remove and (b) a part of
 `compiler/private/xform.rkt` for loading precompiled headers. I don't
 know what the latter does, or if changing it to use a Racket namespace
 would have the potential to introduce bugs.

 But yes, there's definitely a worry about subtle bugs here.

 There's also the issue that `scheme/mzscheme' introduces an
 `for-syntax' import of `scheme/mzscheme', and not a `for-syntax' import
 of `mzscheme', so `make-base-namespace' would disappear from phase 1 in
 `mzscheme' --- if I'm following correctly.

I don't follow this. As far as I can tell, neither `mzscheme` nor
`scheme/mzscheme` introduce `for-syntax` imports of anything.

 So, I think option 2 is right for now, and we should eventually spend
 cycles on really getting `mzscheme' out of the core.

Ok, I'll focus on that.

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


Re: [racket-dev] Things we could move out of the core

2013-06-28 Thread Matthew Flatt
At Fri, 28 Jun 2013 23:25:22 -0400, Sam Tobin-Hochstadt wrote:
 On Fri, Jun 28, 2013 at 6:02 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
  At Fri, 28 Jun 2013 17:43:42 -0400, Sam Tobin-Hochstadt wrote:
  On Fri, Jun 28, 2013 at 5:17 PM, Matthew Flatt mfl...@cs.utah.edu wrote:
   At Fri, 28 Jun 2013 17:08:19 -0400, Sam Tobin-Hochstadt wrote:
   On Fri, Jun 28, 2013 at 5:02 PM, Matthew Flatt mfl...@cs.utah.edu 
 wrote:
At Fri, 28 Jun 2013 14:38:03 -0400, Sam Tobin-Hochstadt wrote:
On Thu, Jun 27, 2013 at 8:45 PM, Robby Findler
ro...@eecs.northwestern.edu wrote:
 Did you consider moving #lang mzscheme out as well?
   
I've now created another pull request that does this, here:
https://github.com/plt/racket/pull/377
   
There's one remaining question.  The `make-base-namespace` procedure
provided by `mzscheme` attaches the `mzscheme` module.  But this pull
request removes that module, so it can't be attached or required in
this code.  The alternatives are:
   
1. Just attach/require `scheme/mzscheme`.  Slightly incompatible in
some corner cases.
2. Don't remove `mzscheme` from the core.
3. Remove `make*-namespace` from `scheme/mzscheme` and implement them
in the `mzscheme` collection in the `mzscheme` package.
   
I'm currently leaning toward 3 but I'd appreciate anyone else's 
 thoughts.
   
Is there some reason that `scheme/mzscheme' can't move to the
mzscheme package (along with `racket/private/stxmz-body')?
  
   Because large portions of the core are written in the `mzscheme`
   language (or `scheme/mzscheme`, after my patch), some of which feature
   evaluating code in mzscheme-like namespaces.  If we can somehow get
   around the latter problem, then the former is a Small Matter of
   Programming, but it'll take a little while.
  
   Ah --- I had not actually looked at 9587a2f.
  
   I guess I'm confused on the goal, since I don't see changing `mzscheme'
   to `scheme/mzscheme' as a step forward. Can you say more about the
   intent of changing `mzscheme' to `scheme/mzscheme'?
 
  The intent is to reduce the API surface area provided by the core.
  Note that `scheme/mzscheme` is not a documented API.  Thus, moving the
  `mzscheme` language and collection would require anyone who depended
  on them to explicitly depend on another package. At some later point,
  we finish implementing the core without using `scheme/mzscheme`, move
  the actual implementation of `mzscheme` to the `mzscheme` package,
  without any compatibility problems.
 
  I see what you mean, but it feels wrong to me that `scheme/mzscheme'
  exists and isn't documented. I'd prefer to work toward getting it in
  the right package and documented.
 
 Do you see an advantage to documenting it, over just having `mzscheme`
 documented (and perhaps moving `scheme/mzscheme` to `racket/private`)?

No, I agree with your suggestion (I think) that just having `mzscheme'
would be better.


  There's also the issue that `scheme/mzscheme' introduces an
  `for-syntax' import of `scheme/mzscheme', and not a `for-syntax' import
  of `mzscheme', so `make-base-namespace' would disappear from phase 1 in
  `mzscheme' --- if I'm following correctly.
 
 I don't follow this. As far as I can tell, neither `mzscheme` nor
 `scheme/mzscheme` introduce `for-syntax` imports of anything.

The `#%module-begin' of `mzscheme' introduces `(#%require (for-syntax
scheme/mzscheme))' into the module body --- a leftover from the days
before phase-1 exports were supported.

Changing the introduced `require' from `scheme/mzscheme' to `mzscheme'
should be ok, as far as I can tell. We just don't want to accidentally
change the bindings that are imported by that `require'.

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


[racket-dev] sgl collection

2013-06-28 Thread Bloch Stephen
Is anybody maintaining the sgl (OpenGL) collection?  I notice from  
the doc that it supports OpenGL 1.5; the current version appears to  
be 4.3 (although popular textbooks seem to use 3.x).


Stephen Bloch
sbl...@adelphi.edu



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