Ryan Culpepper | 22 May 22:16 2015

Pre-Release Checklist for v6.2, Second Call

Checklist items for the v6.2 release
   (using the v6.1.91.900 release candidate build)

Search for your name to find relevant items, reply when you finish an
item (please indicate which item/s is/are done).  Also, if you have any
commits that should have been picked, make sure that the changes are in.

Important: new builds are created without announcement, usually whenever
I pick a few commits.  If you need to commit changes, please make sure
you tell me to pick it into the release branch.

--> Release candidates are at
-->   http://pre-release.racket-lang.org

Please use these installers (or source bundles) -- don't test from
your own git clone (don't test the `master' branch by mistake!).  To
get the tests, you can do this:

   cd ...racket-root...
   ./bin/raco pkg install -i main-distribution-test

----------------------------------------------------------------------

* Matthias Felleisen <matthias@...>
   - check-satisfied?

* Ryan Culpepper <ryanc@...>
   - DB Tests
   Release tests for (one of the) linux releases:
   - Test that the `racket' and `racket-textual' source releases
(Continue reading)

Sam Tobin-Hochstadt | 19 May 14:58 2015
Picon
Picon

Re: FFI: Too much error checking?

On Tue, May 19, 2015 at 8:50 AM, Matthew Flatt <mflatt@...> wrote:
> At Sun, 17 May 2015 10:32:15 +0100, Laurent wrote:
>> The following recent change breaks rwind/x11 [1, 2]:
>> https://github.com/plt/racket/commit/ad899173b97ce2ca51612a496d17ea32db45ecdc#di
>> ff-4f20ebf5b6abb6ab4c0b80b41efa1614R819
>>
>> Now when running rwind, it fails with:
>> _enum: key is not a symbol
>>   symbols: '(2)
>>   key: 2
>>   value: 3
>>   context...:
>>    /usr/share/racket-6.2.0.3/collects/ffi/unsafe.rkt:832:2: loop
>>    /usr/share/racket-6.2.0.3/collects/ffi/unsafe.rkt:821:0: unpack63
>>    /home/orseau/Unison/Prog/Racket/x11/x11/x11.rkt: [running body]
>>    /home/orseau/Unison/Prog/Racket/rwind/color.rkt: [traversing imports]
>>    /home/orseau/Unison/Prog/Racket/rwind/rwind.rkt: [traversing imports]
>>
>> Unfortunately, I couldn't get a better error stacktrace, even with `racket
>> --no-jit -l errortrace`.
>>
>> I'm having trouble debugging this, as it's hidden under piles of FFI calls,
>> but would allowing for integers in place of symbols be really a bad idea
>> here?
>
> The old treatment of integers in `_enum` was not intentional, but I
> think it would count as a bad idea if it had been intentional:

This behavior seems clearly like a bad idea starting from scratch, but
is fixing it worth the backwards incompatibility?
(Continue reading)

Laurent | 17 May 11:32 2015
Picon

FFI: Too much error checking?

Now when running rwind, it fails with:
_enum: key is not a symbol
  symbols: '(2)
  key: 2
  value: 3
  context...:
   /usr/share/racket-6.2.0.3/collects/ffi/unsafe.rkt:832:2: loop
   /usr/share/racket-6.2.0.3/collects/ffi/unsafe.rkt:821:0: unpack63
   /home/orseau/Unison/Prog/Racket/x11/x11/x11.rkt: [running body]
   /home/orseau/Unison/Prog/Racket/rwind/color.rkt: [traversing imports]
   /home/orseau/Unison/Prog/Racket/rwind/rwind.rkt: [traversing imports]

Unfortunately, I couldn't get a better error stacktrace, even with `racket --no-jit -l errortrace`.

I'm having trouble debugging this, as it's hidden under piles of FFI calls, but would allowing for integers in place of symbols be really a bad idea here?


Thanks,

--
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 racket-dev+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to racket-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CABNTSaE3KCa4BwGkAmgUhg0FU5U8zSqt8bqOG14%3DWYU7XoxDJA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
m.douglas.williams | 18 May 23:19 2015
Picon

Animation problems with new pre-release

I am having a problem with my animations on the new Racket pre-release. I've attached two examples from my animated-canvas package on PLaneT. Any of the animations that use the plot package are extremely slow. The one that doesn't runs fine. I've attached two examples. The first, lines.rkt, doesn't use the plot package and runs fine - just run it and hit the run button on the gui it brings up. The second, anim.rkt, uses the plot package. Previously, anim.rkt gave a nice, smooth animation of a 3d plot. Now, it takes several seconds to render individual frames. I see the same behavior whether I compile it or run it from the DrRacket. I am using 64-bit Racket on Windows 8.1.

I don't think it has anything to do with Robby's recent snip% changes, but I guess it is possible. In any case, it does make some of my code unusable.

Note that running either of the examples will download the animated-canvas package from PLaneT.

Doug

--
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 racket-dev+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to racket-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/2f146c17-eed9-4faa-860a-eeb5dac6a459%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Attachment (lines.rkt): application/octet-stream, 5123 bytes
Attachment (anim.rkt): application/octet-stream, 1779 bytes
Gustavo Massaccesi | 18 May 17:54 2015
Picon

Too many complains from DrDr

After the recent change, DrDr sends all the messages of the rebuids to
the latest pusher. But Most of the times the changes are due to
modifications in the packages, not in the main repository.

I think that the it should send the messages only after the first rebuild.

(My latest commit is only a test for a fix of a bug that Mathew found
and fixed a few weeks ago. So it's impossible that it causes the other
changes.)

(By the way, the original bug was mine, but it was a long time ago.)

Gustavo

---------- Forwarded message ----------
From:  <drdr@...>
Date: Mon, May 18, 2015 at 12:25 PM
Subject: [DrDr] R30082 (timeout 0) (unclean 2) (stderr 5) (changes 43)

DrDr has finished building push #30082 after 1.17h.

http://drdr.racket-lang.org/30082/

Push #30082 (which you did) contained a NEW condition that may need inspecting.
  stderr
    http://drdr.racket-lang.org/30082/racket/share/pkgs/compiler-test/tests/compiler/zo.rkt

  unclean
    http://drdr.racket-lang.org/30082/racket/share/pkgs/compiler-test/tests/compiler/zo.rkt

--

-- 
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 racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAPaha9NN6UWb9V2O%3D86NQhWCA2D2JLxmg1DEaPkkFcBeX%3DcP4Q%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Ryan Culpepper | 13 May 15:55 2015

Pre-Release Checklist for v6.2

Checklist items for the v6.2 release
   (using the v6.1.91.900 release candidate build)

Search for your name to find relevant items, reply when you finish an
item (please indicate which item/s is/are done).  Also, if you have any
commits that should have been picked, make sure that the changes are in.

Important: new builds are created without announcement, usually whenever
I pick a few commits.  If you need to commit changes, please make sure
you tell me to pick it into the release branch.

--> Release candidates are at
-->   http://pre-release.racket-lang.org

Please use these installers (or source bundles) -- don't test from
your own git clone (don't test the `master' branch by mistake!).  To
get the tests, you can do this:

   cd ...racket-root...
   ./bin/raco pkg install -i main-distribution-test

----------------------------------------------------------------------

* Matthew Flatt <mflatt@...>
   - Racket Tests
   - Languages Tests
   - GRacket Tests (Also check that `gracket -z' and `gracket-text' still
     works in Windows and Mac OS X)
   - mzc --exe tests
   - .plt-packing Tests
   - Games Tests
   - Unit Tests
   - Syntax Color Tests
   - R6RS Tests
   - JPR's test suite
   - Create an executable from a BSL program
   - Run COM tests
   - Embed-in-c test
   - Try compiling with -funsigned-char
   - Try compiling with TEST_ALTERNATE_TARGET_REGISTER
   - Run the unix installer tests
   Updates:
   - Racket Updates: update HISTORY
   (updates should show v6.2 as the most current version)
   - Update man pages in racket/man/man1: racket.1, gracket.1, raco.1
   Email me to pick the changes when they're done, or tell me if there
   are no such changes.

* Robby Findler <robby@...>
   - DrRacket Tests
   - Framework Tests
   - Contracts Tests
   - Games Tests
   - Teachpacks Tests: image tests
   - PLaneT Tests
   - Redex Tests
   Updates:
   - DrRacket Updates: update HISTORY
   - Redex Updates: update HISTORY
   (updates should show v6.2 as the most current version)
   - Ensure that previous version of DrRacket's preference files still
     starts up with new DrRacket
   - Update man pages in racket/man/man1: drracket.1
   Email me to pick the changes when they're done, or tell me if there
   are no such changes.

* John Clements <clements@...>
   - Stepper Tests
   Updates:
   - Stepper Updates: update HISTORY
   (updates should show v6.2 as the most current version; email me
   to pick the changes when they're done, or tell me if there are no such
   changes.)

* Sam Tobin-Hochstadt <samth@...>,
    Vincent St-Amour <stamourv@...>
   - Match Tests
   - Typed Racket Tests
   - Typed Racket Updates: update HISTORY
   (updates should show v6.2 as the most current version; email me
   to pick the changes when they're done, or tell me if there are no such
   changes.)

* Matthias Felleisen <matthias@...>
   - Teachpacks Tests: check that new teachpacks are addable
   - Teachpack Docs: check teachpack docs in the bundles
   - Try teaching-languages testing framework (check-expect)
   Updates:
   - Teachpack Updates: update HISTORY
   (updates should show v6.2 as the most current version; email me
   to pick the changes when they're done, or tell me if there are no such
   changes.)

* Ryan Culpepper <ryanc@...>
   - Macro Debugger Tests
   - syntax-parse Tests
   - RackUnit GUI Tests
   - Data Tests
   - DB Tests
   - Rackunit Tests
   - SRFI Tests
   Release tests for (one of the) linux releases:
   - Test that the `racket' and `racket-textual' source releases
     compile fine (note that they're still called `plt' and `mz' at
     this stage).
   - Test that the binary installers for both work, try each one in
     both normal and unix-style installation modes. (just ubuntu)
   [Note: get the release candidates from the URL in this email. Use
    the 'static table' link to see a list of all tar files available]

* Jay McCarthy <jay.mccarthy@...>
   - Web Server Tests
   - XML Tests
   - HTML Tests
   - PLAI Tests
   - Racklog tests
   - Datalog tests

* Stevie Strickland <sstrickl@...>
   - Unit Contract Tests
   - Contract Region Tests
   - Class Contract Tests

* Stephen Chang <stchang@...>
   - Lazy Racket Tests
   - Lazy stepper tests

* Stephen Bloch <sbloch@...>
   - Picturing Programs Tests

* Greg Cooper <greg@...>
   - FrTime Tests

* Mike Sperber <sperber@...>
   - DMdA Tests
   - Stepper Tests
   - Signature Tests

* David Van Horn <dvanhorn@...>
   - EoPL Tests

* Neil Toronto <neil.toronto@...>
   - Plot Tests
   - Images Tests
   - Inspect icons
   - Math tests

* Doug Williams <m.douglas.williams@...>
   - Additional Plot Tests

* Shriram Krishnamurthi <sk@...>
   Tour: check the tour and generate a new one if needed.
   [Note: Since this is a v6.1.91.900 build, you will need to edit your
     .../collects/framework/private/version.rkt
   file and change `(version)' to `"6.2"'.]

--

-- 
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 racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/555357CF.3060406%40ccs.neu.edu.
For more options, visit https://groups.google.com/d/optout.

Gustavo Massaccesi | 11 May 20:57 2015
Picon

Build without updating packages

Sometimes, I have no internet connectivity.Is there an option for
"make" to rebuild Racket from the source without trying to update the
packages?

Gustavo

--

-- 
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 racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAPaha9MjuM3EOWUspc%3DOpz2Ao4TR1SHOD-64-nhz%2B3tc2e6e3A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Robby Findler | 11 May 15:39 2015

Re: should saving to a new location retrigger automatic compilation?

Yes, indeed. I've pushed that change and it should be in time for the
release too.

Thanks,
Robby

On Wed, Feb 18, 2015 at 12:55 PM, 'John Clements' via dev-redirect
<dev@...> wrote:
> A student of mine just had a spurious automatic compilation error that occurred when he
> a) wrote a program in an unsaved buffer with a relative ‘require’. (automatic compilation shows error)
> b) saved it to a new location (no keystroke in buffer, so automatic compilation still shows error)
> c) raised his hand and told me about the problem. I told him to hit the space bar, and the problem went away.
>
> I conjecture, though, that it would be appropriate to trigger automatic compilation when a buffer is
saved to a new location. Does this make sense?
>
> John
>
> --
> 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 racket-dev+unsubscribe@...
> To post to this group, send email to racket-dev@...
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/21A7CC76-54F9-48A5-8205-9310EDC02DA7%40brinckerhoff.org.
> For more options, visit https://groups.google.com/d/optout.

--

-- 
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 racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAL3TdOM9d74EmEtRBiUB06sw%3DgUehbTm9Wet27vw2MUNePQGOw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Robby Findler | 8 May 20:55 2015

backwards incompatibility in the handling of DrRacket's snip/values

I recently pushed a change to DrRacket in the way that it handles
snips that are the results of computations [1].

This change is backwards incompatible in the sense that code that
commonly worked before can commonly fail before. At a high-level that
code was buggy all along, but now the buggy behavior gets in the way
all the time instead of just in less common situations.

Let me give a little background to explain. The snip% class is how
racket/gui's editors represent things that can appear in an editor
(and be edited). The most common one of these is a string-snip%, which
represents a chunk of text (perhaps one line in a file that's being
edited in DrRacket). But there are lots of others, like image-snip%
that you get when you use the "Insert Image..." menu item or the
things you get when you evaluate 2/3 in the interactions window. There
are a bunch of more sophisticated such values (like plots) and the
thing they all have in common is that they are subclasses of snip%.

Turns out that DrRacket offering this interface to "fancy values" was
a bad choice, but it was one that I made a long time ago (late 90s or
so). So this message is about an attempt to fix it and the
repercussions.

The reason this was a bad choice is that the snip% API is all about
"things that live in editors". And one important feature of a thing
that lives in an editor is that you can save it. Editors edit files,
after all (duh!). Well, not all values are things that can easily be
saved in files (double duh!). This is the crux of the reason why it
was a bad choice.

This shows up in that many of these fancy value snips need procedures
that were compute random, unknown ahead of time things (think of a
plot of a function -- it plots an arbitrary function and it needs that
function when you zoom or whatever). So they just didn't implement the
marshalling part of the snip% interface.

Unfortunately, the change to DrRacket now requires that the
marshalling part of the interface to be implemented. Why? Because
moving a snip% object from the user's program's "space" (eventspace
specifically) to the DrRacket's only works by marshalling and
unmarshalling the snip. This triggers part of the snip API that
enables DrRacket to find and load it's implementation. And without
that step, the snip cannot actually be saved (PR 15049 [2]).

I'm writing to know what people think of this backwards incompatibility.

I don't know if it helps, but I'm willing to fix all of the existing
snips to use a new interface that's designed for "special values"
(which wouldn't ask the values to be able to be saved) or to actually
finish the implementation of snip%-ness, depending on which is
appropriate for each. The ones I know about are plot, pict3d, value
turtles, and frtime's signals. (If you know of more, please let me
know.)

I don't see a way to both fix PR 15049 and maintain backwards
compatibility, but it may be possible. (I'm confident it will be
complicated, if it is possible, however.)

And finally, this is also related to some security-based research work
that Scott and Christos are doing and I believe that the backwards
incompatible change is the most productive for that purpose, but my
guess is that maintaining backwards compatibility just makes some of
the hacking involved in that research more painful (as opposed to
impossible).

Anyway, if you made it this far in this message, thanks. Thoughts welcome.

Robby

[1]: https://github.com/racket/drracket/commit/01a19794ff9ab8188c0eb269b0ab12509096de1a
and https://github.com/racket/gui/commit/469add8d57c03f1ed269b48f5453dfad2f60d0c6

[2]: http://bugs.racket-lang.org/query/?cmd=view&pr=15049

--

-- 
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 racket-dev+unsubscribe@...
To post to this group, send email to racket-dev@...
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAL3TdOOr9J4P4EA1pphQhA%3Dp-9fx86_q1Ojm4U5wY_W7qiWp7g%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Thomas Lynch | 8 May 07:02 2015

load used incorrectly, behavior of load change version 5 -> 6 ?

Her is a small pointless program

  #lang racket
  (define (neq args) (not (apply = args)))
  (provide neq)

So then loading this in racket:

racket <at> > (load "temp-lib.rkt")
racket <at> > (neq 1 0)
neq: undefined;
 cannot reference undefined identifier
  context...:
   /usr/share/racket/collects/racket/private/misc.rkt:87:7

Why is neq undefined after the load?  I could see symbols in a module with load before the upgrade ..

Now there is a (provide neq) in there so why not use require?  Lets try that in the same session:

racket <at> > (require "temp-lib.rkt")
racket <at> > (neq 1 0)
neq: arity mismatch;
 the expected number of arguments does not match the given number
  expected: 1
  given: 2
  arguments...:
   1
   0
  context...:
   /usr/share/racket/collects/racket/private/misc.rkt:87:7

Yes, now the symbol can be seen. Good, and oh yeah, a '.'is missing in the source so let me add that.  The edited and saved source code now appears as:

#lang racket
(define (neq . args) (not (apply = args)))
(provide neq)

So again, in the same session, lets use this new better source code:

racket <at> > (neq 1 0)
neq: arity mismatch;
 the expected number of arguments does not match the given number
  expected: 1
  given: 2
  arguments...:
   1
   0
  context...:
   /usr/share/racket/collects/racket/private/misc.rkt:87:7

Alas, racket does seem to see the updated code.  My guess is that the second require did nothing because racket already though it had that file. Is this the case?  Anyway, I did this twice in different variations, and indeed new edits do not come in.  Well then what to do, here I kill the racket process and run it again (kinda like rebooting windows after a problem):

racket <at> > 
It's been nice interacting with you!
Press C-c C-z to bring me back.
Welcome to Racket v6.1.
racket <at> > (require "temp-lib.rkt")
racket <at> > (neq 1 0)
#t
racket <at> > 
racket <at> > (require "temp-lib.rkt")
racket <at> > (neq 1 0)
#t
racket <at> > 

Yes, after rebooting racket I see my changes.

Ok, what is going on here?  What happened to load?  How do I load a file so that I can work on it while seeing all the bindings?  How do I reload a file after an edit?    



 

--
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 racket-dev+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to racket-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/76ffc46f-7231-4bf1-aa66-e873904ff181%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
gfb | 8 May 03:45 2015
Picon

value turtlessnips don't display

Since the change for PR 15049, value turtle snips don't display anymore, instead there's an error.

#lang racket ; Also happens in ISL.
(require graphics/value-turtles)
(define tv (turtles 100 100))
tv ; error:


  put in editor-stream-out%: bad argument combination:
  "(100 100 (#(struct:turtle (50 50 0))) #(struct:offset (0 0 0)) ())"

The backtrace for builtin shows it getting to  make-snip-special  in:
  /share/pkgs/gui-lib/framework/private/text.rkt: 2234:2

Looking at the code for graphics/value-turtles they can't save properly: in particular the code for writing uses a method that doesn't exist. Copying a turtle snip in the earlier racket version 6.2.0.2 generates a similar error, as does (unsurprisingly) trying to save the Interactions when it contains a turtle snip.

I'm considering fixing the library, including making it rackety, but the only part I don't understand is what it's trying to accomplish with the global state of saved-turtles, for example there's the code:

(unless saved-turtles
  (error 'turtles "click execute before running the turtles"))

If it can be confirmed that it just needs to work according to the documentation, both when installed as an htdp teachpack (Die Macht der Abstraktion doesn't depend on that library) or when required, then I'd go ahead.

--
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 racket-dev+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To post to this group, send email to racket-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/a806166a-15eb-405e-a730-a2ea21d1b9f7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Gmane