Re: [racket-dev] What command should DrDr run by default?

2013-07-07 Thread Robby Findler
Raco test runs the file if there is not test sub module. Fwiw.

On Saturday, July 6, 2013, Eli Barzilay wrote:

 It doesn't make much sense to use a test submodule in files that are
 intended to be (only) tests.


 Earlier today, Robby Findler wrote:
  That's the plan. Thanks for fixing them.
 
  Robby
 
 
  On Sat, Jul 6, 2013 at 8:47 AM, Sam Tobin-Hochstadt 
  sa...@ccs.neu.edujavascript:;
 wrote:
 
  I recently discovered that DrDr runs `raco test` by default on files,
  and has since February. However, the DrDr documentation says that it
  runs `racket -t`.  I discovered this because the change caused many
 of
  the `net` tests to no longer actually run; see
 
 
 http://drdr.racket-lang.org/27042/pkgs/racket-pkgs/racket-test/tests/
  net/url.rkt
 
  which appears to be successful, even though running `racket` on that
  file would have shown the error that I fixed in
  https://github.com/plt/racket/commit/a4e529a816 . These tests are a
  particularly bad case because they run all their tests in the `main`
  submodule, and thus are *not* executed by `raco test`. If the plan is
  for everything to run with `raco test`, I'll fix these tests.  But
  what is the plan?

 --
   ((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


Re: [racket-dev] What command should DrDr run by default?

2013-07-07 Thread Sam Tobin-Hochstadt
The change I made was the minimum delta to make the tests run in DrDr,
since the files already had a `main` submodule which ran the actual
tests.

Sam

On Sun, Jul 7, 2013 at 4:42 AM, Robby Findler
ro...@eecs.northwestern.edu wrote:
 Raco test runs the file if there is not test sub module. Fwiw.


 On Saturday, July 6, 2013, Eli Barzilay wrote:

 It doesn't make much sense to use a test submodule in files that are
 intended to be (only) tests.


 Earlier today, Robby Findler wrote:
  That's the plan. Thanks for fixing them.
 
  Robby
 
 
  On Sat, Jul 6, 2013 at 8:47 AM, Sam Tobin-Hochstadt sa...@ccs.neu.edu
  wrote:
 
  I recently discovered that DrDr runs `raco test` by default on
  files,
  and has since February. However, the DrDr documentation says that it
  runs `racket -t`.  I discovered this because the change caused many
  of
  the `net` tests to no longer actually run; see
 
 
  http://drdr.racket-lang.org/27042/pkgs/racket-pkgs/racket-test/tests/
  net/url.rkt
 
  which appears to be successful, even though running `racket` on that
  file would have shown the error that I fixed in
  https://github.com/plt/racket/commit/a4e529a816 . These tests are a
  particularly bad case because they run all their tests in the `main`
  submodule, and thus are *not* executed by `raco test`. If the plan
  is
  for everything to run with `raco test`, I'll fix these tests.  But
  what is the plan?

 --
   ((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


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

2013-07-07 Thread Sam Tobin-Hochstadt
On Sun, Jul 7, 2013 at 1:26 PM,  mfl...@racket-lang.org wrote:

 | Finally, `racket/base' provides the new function
 | `call-with-default-reading-parameterization', which is used to guard
 | various file `read's to make them consistent and avoid security holes.

It looks like `call-with-default-reading-parameterization` allows
reading compiled code. This seems potentially worrying in the contexts
where we're reading various package-related files.

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


[racket-dev] Package compatibility

2013-07-07 Thread Carl Eastlund
It seems to me our new package system runs into trouble if two people write
packages that use the same connection name.  Let's say we have two
packages, alice-tree and bob-tree, both of which provide the collection
data/red-black-tree, but both provide different interfaces (perhaps similar
functionality with different naming conventions).  It seems to me this is
not that unlikely to happen, but once it does, those two packages are
completely incompatible.  They can never meaningfully be installed on the
same system, and if they are, the behavior of any code depending on either
becomes undefined.

Have I got this right, or have I missed some detail?  If this is right, how
concerned are we about this feature?  The fact that packages are all
spliced into a single flat collection namespace of course leads to the
possibility of clashes like this, which can cause not just incompatibility
between alice-tree and bob-tree, but a complete schism wherein all code
depending on alice-tree at any level of indirection becomes completely
disjoint from all code depending on bob-tree at any level of indirection.
I've seen this kind of library incompatibility before, in the ACL2 books,
and I wrote a dissertation to try to solve it.  I hope we're not repeating
their mistake, but it seems like we have yet another flat namespace with no
resolution mechanism.

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


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

2013-07-07 Thread Matthew Flatt
At Sun, 7 Jul 2013 13:42:22 -0400, Sam Tobin-Hochstadt wrote:
 On Sun, Jul 7, 2013 at 1:26 PM,  mfl...@racket-lang.org wrote:
 
  | Finally, `racket/base' provides the new function
  | `call-with-default-reading-parameterization', which is used to guard
  | various file `read's to make them consistent and avoid security holes.
 
 It looks like `call-with-default-reading-parameterization` allows
 reading compiled code. This seems potentially worrying in the contexts
 where we're reading various package-related files.

Yes, that was supposed to be off. I'll fix it.


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


Re: [racket-dev] Package compatibility

2013-07-07 Thread Jay McCarthy
On Sun, Jul 7, 2013 at 11:44 AM, Carl Eastlund c...@ccs.neu.edu wrote:
 It seems to me our new package system runs into trouble if two people write
 packages that use the same connection name.  Let's say we have two packages,
 alice-tree and bob-tree, both of which provide the collection
 data/red-black-tree, but both provide different interfaces (perhaps similar
 functionality with different naming conventions).  It seems to me this is
 not that unlikely to happen, but once it does, those two packages are
 completely incompatible.  They can never meaningfully be installed on the
 same system, and if they are, the behavior of any code depending on either
 becomes undefined.

 Have I got this right, or have I missed some detail?

You are correct.

 If this is right, how
 concerned are we about this feature?  The fact that packages are all spliced
 into a single flat collection namespace of course leads to the possibility
 of clashes like this, which can cause not just incompatibility between
 alice-tree and bob-tree, but a complete schism wherein all code depending on
 alice-tree at any level of indirection becomes completely disjoint from all
 code depending on bob-tree at any level of indirection.  I've seen this kind
 of library incompatibility before, in the ACL2 books, and I wrote a
 dissertation to try to solve it.  I hope we're not repeating their mistake,
 but it seems like we have yet another flat namespace with no resolution
 mechanism.

Planet attempts to solve this problem technically by (a) having all
collections be prefixed by author/package-name and (b) mandating a
centralized server that enforces unique authors and unique
package-names per author. Since Racket packages don't have a
mandated central server we can't enforce uniqueness like that. (i.e.
even if we mandated the prefix by package-name, there's no way to
enforce unique package names across the universe without a central
server.) Furthermore, bringing package-names in to the code would
give us /internal linking/ which Racket packages are designed to avoid
for other reasons.

Since technical solutions to this problem are lacking, I/we/PLT
(depending on the level of agreement with this idea) are trying to
solve this problem socially by rewarding package authors (who list
their packages on the PLT run server) with the ring system. Ring 1
packages can't conflict with each other and my desire is for only ring
1 and 0 packages to be listed in the DrRacket GUI. Ring 0 packages
can't conflict with each other and must be good (have documentation,
tests, etc). The goodie they get is that their packages will be tested
with DrDr and we'll build their documentation and include it on the
main site.

Jay

 Carl Eastlund

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




--
Jay McCarthy j...@cs.byu.edu
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay

The glory of God is Intelligence - DC 93
_
  Racket Developers list:
  http://lists.racket-lang.org/dev