Re: [racket-dev] Pre-Release Checklist for v6.0, corrected url

2013-12-30 Thread Robby Findler
My initial reaction to your message is that this is far too big of a test
case to hand over to someone else. Is there some way we can get you access
to a machine that demonstrates the problem so you can make something
smaller?

Robby

On Monday, December 30, 2013, Neil Toronto wrote:

 I don't think there's anything I can look into. I can't duplicate the
 problem on my system, and Plot doesn't do anything platform-specific, so
 the bug is almost certainly in `pict', `racket/draw' or Cairo. Matthew?

 Sorry I wasn't clear on this earlier.

 (It could be that it's *possible* duplicate it on my system, and that it
 only shows up on the build machine because the default font is a different
 size, which gives the plot areas slightly different sizes, which gives the
 projected triangles slightly different vertices. I could look into that,
 but it seems unlikely. I use Plot a *lot* and have never seen this before.)

 If I were debugging it, I'd try to find the simplest plot that's missing a
 polygon. Here are the bad plots from the docs, rendered the way the docs do
 it (plot to a pict, then convert to a bitmap), with the number of samples
 easy to tweak:

 #lang racket

 (require pict plot/pict)

 (plot3d-samples 41)  ; default is 41

 (parameterize ([plot-z-ticks  (currency-ticks)])
   (pict-bitmap
(plot3d-pict (contour-intervals3d (λ (x y) (- (sqr x) (sqr y)))
  -1 1 -1 1
  #:label z)
 #:legend-anchor 'center)))

 (pict-bitmap
  (plot3d-pict (polar3d (λ (θ ρ) 1)
#:color 2
#:line-style 'transparent)
   #:altitude 25))


 I'd also try passing #:out-file out.pdf to `plot3d-pict' to see if the
 PDF back-end is afflicted.

 I don't know how worried to be about missing polygons. It could be
 anything from bad array management in Cairo (which could be serious) to a
 mostly harmless problem in the implementation of region culling or winding
 rules.

 Neil ⊥

 On 12/29/2013 09:39 PM, Robby Findler wrote:

 Neil: have you had time to look into this? If not, then I think we
 should just leave it for the next release. Please let us know what
 you're thinking about this one.

 Robby


 On Sat, Dec 21, 2013 at 4:13 PM, Neil Toronto neil.toro...@gmail.com
 mailto:neil.toro...@gmail.com wrote:

 Some plots in the documentation are missing a polygon. I think it's
 platform-specific, because I can't reproduce the problem.

 Examples:

 First example plot in 1.5 Renderer and Plot Bounds (look for a
 light green rectangle)

 file:///usr/racket-5.91.0.900/__doc/plot/intro.html?q=plot#%
 __28part._.Renderer_and_.Plot_.__Bounds%29


 Last example plot in `plot-z-far-ticks' docs (look for a white hole
 under the z in the legend)

 http://plt.eecs.northwestern.__edu/snapshots/current/doc/__
 plot/ticks_and_transforms.__html?q=plot-z-far-ticks#%__
 28def._%28%28lib._plot%2Fmain.__.rkt%29._plot-z-far-ticks%29%__29
 http://plt.eecs.northwestern.edu/snapshots/current/doc/
 plot/ticks_and_transforms.html?q=plot-z-far-ticks#%
 28def._%28%28lib._plot%2Fmain..rkt%29._plot-z-far-ticks%29%29


 Here's a program that renders one of the bad plots like Scribble
 does (I think):

 #lang racket

 (require pict plot/pict)

 (pict-bitmap
   (plot3d-pict (polar3d (λ (θ ρ) 1) #:color 2 #:line-style
 'transparent)
#:altitude 25))


 Neil ⊥


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




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


Re: [racket-dev] Pre-Release Checklist for v6.0, Second Call

2013-12-30 Thread David Van Horn

On 12/29/13, 1:57 PM, Ryan Culpepper wrote:

* David Van Horn dvanh...@ccs.neu.edu
   - EoPL Tests


Done.


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


Re: [racket-dev] Pre-Release Checklist for v6.0, Second Call

2013-12-30 Thread Neil Toronto
We really shouldn't ship until this memory leak is fixed (which I just 
reported):


http://bugs.racket-lang.org/query/?cmd=viewpr=14264

It's making writing substantial programs very difficult, especially in 
Typed Racket, which seems to be affected more.


It's possible there's a weird interaction with Ubuntu 13.10, which I 
upgraded to last week, but I don't know what it could be. Or I may just 
not have noticed before. (I haven't been coding much recently.)


Neil ⊥

#lang racket

(require (only-in typed/racket/base index?))

(define (emit v)
  (printf ~a~n v))

;(: multi-dag-add-edge (All (T R) ((Multi-Dag T R) T R T - (Multi-Dag T R
(define (multi-dag-add-edge h src r dst)
  (define edges (hash-ref h src (λ () (make-immutable-hash
  (define dsts (hash-ref edges r (λ () (set
  (hash-set h src (hash-set edges r (set-add dsts dst

;; 
===

;(: set-union* (All (A) ((Setof (Setof A)) - (Setof A
(define (set-union* s)
  (define ss (set-list s))
  (cond [(empty? ss)  (set)]
[else  (apply set-union (first ss) (rest ss))]))

;(: set-image (All (A B) ((A - B) (Setof A) - (Setof B
(define (set-image f s)
  (list-set (set-map s f)))

;(: set-bind (All (A B) ((Setof A) (A - (Setof B)) - (Setof B
(define (set-bind A f)
  (set-union* (set-image f A)))

;; 
===

(struct Relation (forward backward)
  #:transparent
  #:property prop:custom-print-quotable 'never
  #:property prop:custom-write
  (λ (r out mode)
(write-string (symbol-string (Relation-forward r)) out)))

(define-syntax-rule (define-relation name1 name2)
  (begin
(define name1 (Relation 'name1 'name2))
(define name2 (Relation 'name2 'name1

(define-relation holding held-by)
(define-relation inside outside)
(define-relation north south)
(define-relation east west)
(define-relation up down)

;(: relation-reverse (Relation - Relation))
(define (relation-reverse r)
  (Relation (Relation-backward r)
(Relation-forward r)))

;; 
===

(struct Edge (fst rel snd) #:transparent)

(struct Action-Type () #:transparent)
(struct Look Action-Type () #:transparent)

(struct Describe Action-Type (parent relation entity) #:transparent)

(struct Action-Dest (relation entity) #:transparent)
(struct Action-Path (src dsts) #:transparent)

(struct Init-Action (type src) #:transparent)
(struct Received-Action (type path) #:transparent)

;(define-type Action (U Init-Action Received-Action))

;(: action-path-entities (Action-Path - (Listof Pointer)))
(define (action-path-entities p)
  (match-define (Action-Path src dsts) p)
  (cons src (reverse (map Action-Dest-entity dsts

;(: action-path-relations (Action-Path - (Listof Relation)))
(define (action-path-relations p)
  (reverse (map Action-Dest-relation (Action-Path-dsts p

;(: action-entities (Action - (Listof Pointer)))
(define (action-entities act)
  (match act
[(Init-Action _ src)  (list src)]
[(Received-Action _ path)  (action-path-entities path)]))

;(: action-last-entity (Action - Pointer))
(define (action-last-entity act)
  (match act
[(Init-Action type src)  src]
[(Received-Action type (Action-Path src dsts))  (Action-Dest-entity (first 
dsts))]))

;(: action-push-dest (Action Relation Pointer - Received-Action))
(define (action-push-dest act r dst)
  (match act
[(Init-Action type src)  (Received-Action type (Action-Path src (list 
(Action-Dest r dst]
[(Received-Action type (Action-Path src dsts))
 (Received-Action type (Action-Path src (cons (Action-Dest r dst) dsts)))]))

;(: action-pop-dest (Received-Action - (Values Action Relation Pointer)))
(define (action-pop-dest act)
  (match-define (Received-Action type (Action-Path src dsts)) act)
  (match-let* ([(Action-Dest rel dst)  (first dsts)]
   [dsts  (rest dsts)])
(cond [(empty? dsts)  (values (Init-Action type src) rel dst)]
  [else  (values (Received-Action type (Action-Path src dsts)) rel 
dst)])))

;(: action-path-reverse (Action-Path - Action-Path))
(define (action-path-reverse p)
  (match-define (Action-Path src dsts) p)
  (define es (reverse (action-path-entities p)))
  (define rs (reverse (action-path-relations p)))
  (Action-Path
   (first es)
   (reverse (for/list ([e  (in-list (rest es))]
   [r  (in-list rs)])
  (Action-Dest (relation-reverse r) e)

(struct Entity (name alts start-action receive-action properties) #:transparent)

;(: empty-property-hash (HashTable Symbol Any))
(define empty-property-hash (make-immutable-hasheq))

;; 
===
;; The world

;(define-type Pointer Index)

;(: empty-entity-set (Setof Pointer))

Re: [racket-dev] Pre-Release Checklist for v6.0, Second Call

2013-12-30 Thread Robby Findler
I assume you checked and it doesn't happen in 5.3.6?

Robby


On Mon, Dec 30, 2013 at 9:53 PM, Neil Toronto neil.toro...@gmail.comwrote:

 We really shouldn't ship until this memory leak is fixed (which I just
 reported):

 http://bugs.racket-lang.org/query/?cmd=viewpr=14264

 It's making writing substantial programs very difficult, especially in
 Typed Racket, which seems to be affected more.

 It's possible there's a weird interaction with Ubuntu 13.10, which I
 upgraded to last week, but I don't know what it could be. Or I may just not
 have noticed before. (I haven't been coding much recently.)

 Neil ⊥


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


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


Re: [racket-dev] Pre-Release Checklist for v6.0, Second Call

2013-12-30 Thread Neil Toronto

No, but that was a good idea, so I checked it. It doesn't happen in 5.3.6.

Neil ⊥

On 12/30/2013 09:14 PM, Robby Findler wrote:

I assume you checked and it doesn't happen in 5.3.6?

Robby


On Mon, Dec 30, 2013 at 9:53 PM, Neil Toronto neil.toro...@gmail.com
mailto:neil.toro...@gmail.com wrote:

We really shouldn't ship until this memory leak is fixed (which I
just reported):

http://bugs.racket-lang.org/__query/?cmd=viewpr=14264
http://bugs.racket-lang.org/query/?cmd=viewpr=14264

It's making writing substantial programs very difficult, especially
in Typed Racket, which seems to be affected more.

It's possible there's a weird interaction with Ubuntu 13.10, which I
upgraded to last week, but I don't know what it could be. Or I may
just not have noticed before. (I haven't been coding much recently.)

Neil ⊥


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




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