Re: [racket-dev] Pre-Release Checklist for v6.1

2014-07-19 Thread Stevie Strickland
On Jul 17, 2014, at 6:03 PM, Ryan Culpepper ry...@ccs.neu.edu wrote:
 * Stevie Strickland sstri...@ccs.neu.edu
  - Unit Contract Tests
  - Contract Region Tests
  - Class Contract Tests

Done.

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


Re: [racket-dev] Pre-Release Checklist for v6.1

2014-07-19 Thread Stephen Bloch

On Jul 17, 2014, at 8:03 PM, Ryan Culpepper ry...@ccs.neu.edu wrote:

 * Stephen Bloch sbl...@adelphi.edu
  - Picturing Programs Tests

Everything works except one check-error because the wording of the error 
message has changed.  Out of town right now, and can't get to pltgit from this 
laptop, but will fix tomorrow or Monday.


Stephen Bloch
sbl...@adelphi.edu
GPG key at http://home.adelphi.edu/sbloch/sbloch.pubkey.asc



signature.asc
Description: Message signed with OpenPGP using GPGMail
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


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

2014-07-19 Thread Matthias Felleisen

Ouch, This is precisely the kind of (imperative) change I didn't hope to see. I 
will look at the file in a moment but I'd hope you can do this with a lambda 
wrapper instead of a set!. -- Matthias



On Jul 19, 2014, at 1:27 AM, gcoo...@racket-lang.org wrote:

 pkgs/frtime/lang-ext.rkt
 
 --- OLD/pkgs/frtime/lang-ext.rkt
 +++ NEW/pkgs/frtime/lang-ext.rkt
 @@ -412,17 +412,7 @@
   (current-inexact-milliseconds))
 empty)]
[head last]  
 -   [consumer (proc-signal
 -  (lambda ()
 -(let* ([now (current-inexact-milliseconds)]
 -   [new (deep-value-now beh empty)]
 -   [ms (value-now ms-b)])
 -  (when (not (equal? new (car (mcar last
 -(set-mcdr! last (mcons (cons new now)
 -   empty))
 -(set! last (mcdr last))
 -(schedule-alarm (+ now ms) producer
 -  beh ms-b)]
 +   [consumer #f]
[producer (proc-signal
   (lambda ()
 (let* ([now (and (signal? consumer) 
 (current-inexact-milliseconds))]
 @@ -437,7 +427,19 @@
   (begin
 (set! head (mcdr head))
 (loop)))])
 -producer))
 +(begin
 +  (set! consumer (proc-signal
 +  (lambda ()
 +(let* ([now (current-inexact-milliseconds)]
 +   [new (deep-value-now beh empty)]
 +   [ms (value-now ms-b)])
 +  (when (not (equal? new (car (mcar last
 +(set-mcdr! last (mcons (cons new now)
 +   empty))
 +(set! last (mcdr last))
 +(schedule-alarm (+ now ms) producer
 +  beh ms-b))
 +  producer)))
 
 (define (inf-delay beh)
   (delay-by beh 0))
 @@ -451,8 +453,8 @@
  [last-time (current-inexact-milliseconds)]
  [last-val (value-now b)]
  [last-alarm 0]
 - [producer (proc-signal (lambda () (and (signal? consumer) 
 accum)))]
 - [consumer (proc-signal void b ms-b)])
 + [consumer (proc-signal void b ms-b)]
 + [producer (proc-signal (lambda () (and (signal? consumer) 
 accum)))])
   (set-signal-thunk!
consumer
(lambda ()


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


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

2014-07-19 Thread Matthias Felleisen

Thanks for the extensive internal documentation. -- Matthias



On Jul 19, 2014, at 7:07 PM, gcoo...@racket-lang.org wrote:

 gcooper has updated `master' from 45306397cc to 2881b60536.
  http://git.racket-lang.org/plt/45306397cc..2881b60536
 
 =[ One Commit ]=
 Directory summary:
 100.0% pkgs/frtime/
 
 ~~
 
 2881b60 Gregory Cooper ghcoo...@gmail.com 2014-07-19 16:06
 :
 | Rewrite the delay-by primitive so it's easier to understand.
 |
 | Also, add comments that attempt to explain how it's intended to work.
 :
  M pkgs/frtime/lang-ext.rkt | 139 
 
 =[ Overall Diff ]===
 
 pkgs/frtime/lang-ext.rkt
 
 --- OLD/pkgs/frtime/lang-ext.rkt
 +++ NEW/pkgs/frtime/lang-ext.rkt
 @@ -3,6 +3,7 @@
  (only-in racket/list first second last-pair empty 
 empty?))
  (only-in racket/list first second cons? empty empty? rest last-pair)
  (only-in racket/function identity)
 + data/queue
  (only-in frtime/core/frp super-lift undefined undefined? behavior? 
 do-in-manager-after do-in-manager proc-signal set-signal-thunk! register 
 unregister 
   signal? signal-depth signal:switching? signal-value 
 value-now signal:compound? signal:compound-content signal:switching-current 
 signal:switching-trigger 
   set-cell! snap? iq-enqueue value-now/no-copy event-receiver 
 event-set? proc-signal:switching set-signal-producers! set-signal-depth! 
 safe-signal-depth 
 @@ -403,46 +404,110 @@
 (set-signal-value! ret ((signal-thunk ret)))
 ret))
 
 -; XXX general efficiency fix for delay
 -; signal[a] signal[num] - signal[a]
 -(define (delay-by beh ms-b)
 -  (letrec ([last (mcons (cons (if (zero? (value-now ms-b))
 -  (value-now/no-copy beh)
 -  undefined)
 -  (current-inexact-milliseconds))
 -empty)]
 -   [head last]  
 -   [consumer #f]
 -   [producer (proc-signal
 -  (lambda ()
 -(let* ([now (and (signal? consumer) 
 (current-inexact-milliseconds))]
 -   [ms (value-now ms-b)])
 -  (let loop ()
 -(if (or (empty? (mcdr head))
 -( now (+ ms (cdr (mcar (mcdr head))
 -  (let ([val (car (mcar head))])
 -(if (event-set? val)
 -  (make-events-now (event-set-events val))
 -  val))
 -  (begin
 -(set! head (mcdr head))
 -(loop)))])
 +;; signal[a] num - signal[a]
 +;;
 +;; Returns a signal whose value at (approximately) time (+ t |delay-millis|) 
 is a (deep) snapshot
 +;; of the value of |sig| at time t, for all times t from now on. For earlier 
 times, the value of the
 +;; returned signal is undefined.
 +;;
 +;; Assumptions: (current-inexact-milliseconds) is monotonically 
 non-decreasing; |delay-millis| is
 +;; positive and finite.
 +(define (delay-by sig delay-millis)
 +  ;; Implementation strategy:
 +  ;;
 +  ;; Maintain a queue of pairs (snapshot . timestamp) of the observed signal 
 going back in
 +  ;; time for at least |delay-millis|. Start with (undefined . -inf.0) and 
 (current-value . now), so
 +  ;; there should always be at least one item (value . timestamp) in the 
 queue such that
 +  ;; (= now (+ timestamp delay-millis)).
 +  ;;
 +  ;; |consumer| runs whenever |sig| changes and adds an item with the 
 observed value and current
 +  ;; time to the queue; schedules |producer| to run at |delay-millis| in 
 the future, by which
 +  ;; time it should be ready to take on that observed value.
 +  ;;
 +  ;; |producer| has no dependencies recorded in the dataflow graph and only 
 runs when scheduled
 +  ;; by the consumer. (This is what allows delay-by to break cycles.) It 
 traverses the queue
 +  ;; looking for the latest observation (value . timestamp) such that
 +  ;; (= now (+ timestamp delay-millis)), and takes on the observed 
 value. |producer| is the
 +  ;; value returned by this procedure, so it stays alive as long as 
 anything cares about its
 +  ;; value.
 +  (let* ([queue (make-queue)]
 + 
 + ;; finish : (a . num) a - a
 + ;; Puts |queue-item| back on the front of the queue and returns 
 |val|, updating the
 + ;; occurrence timestamp if |val| represents an event set.
 + ;; TODO(gcooper): We could avoid this if data/queue supported a 
 peek operation.
 + [finish! (lambda (queue-item val)
 +(enqueue-front! queue queue-item)
 + 

[racket-dev] Help with build failed error message

2014-07-19 Thread Alexander D. Knauth
I made a fork of the racket repo and committed some changes in a topic branch, 
but I got this:
make[8]: Leaving directory 
`/home/travis/build/AlexKnauth/racket/racket/src/build'
make[7]: Leaving directory 
`/home/travis/build/AlexKnauth/racket/racket/src/build'
make[6]: Leaving directory 
`/home/travis/build/AlexKnauth/racket/racket/src/build'
racket/racket3m -X /home/travis/build/AlexKnauth/racket/racket/collects -G 
/home/travis/build/AlexKnauth/racket/racket/etc -G 
/home/travis/build/AlexKnauth/racket/build/config -N raco -l- setup  
--no-user -j 2  
raco setup: bootstrapping from source...
Killed
make[5]: *** [install-3m] Error 137
make[5]: Leaving directory 
`/home/travis/build/AlexKnauth/racket/racket/src/build'
make[4]: *** [install] Error 2
make[4]: Leaving directory 
`/home/travis/build/AlexKnauth/racket/racket/src/build'
make[3]: *** [base] Error 2
make[3]: Leaving directory `/home/travis/build/AlexKnauth/racket'
make[2]: *** [plain-in-place] Error 2
make[2]: Leaving directory `/home/travis/build/AlexKnauth/racket'
make[1]: *** [cpus-in-place] Error 2
make[1]: Leaving directory `/home/travis/build/AlexKnauth/racket'
make: *** [in-place] Error 2
The command make CPUS=2 PKGS=racket-test db-test unstable-flonum-lib 
net-test exited with 2.
(lines 812-830 of https://travis-ci.org/AlexKnauth/racket/jobs/30368892)

What does this mean?

What does the “Killed” mean?
And what is error 137?

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


Re: [racket-dev] flatten-begin

2014-07-19 Thread Asumu Takikawa
On 2014-07-18 09:52:26 -0500, Robby Findler wrote:
 Unless someone knows why it is a bad idea, how about adding a #:all?
 argument that flattens all the way down?

 I don't see many uses of flatten-begin in our tree, but the one in
 compatibility/package sure looks like it could use the #:all?
 argument. Ditto the one in TR (in class-prims.rkt). And I'm pretty
 sure that replacing the hand-rolled loops in drracket for doing this
 (they predate that library) would use the #:all? argument if they were
 rewritten.

This sounds like a nice solution and it would be fine for my use-case
too. Anyone have any reasons against? (otherwise I can make the change)

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