[racket] Considering backward-incompatible change to Plot

From: Doug Williams (m.douglas.williams at gmail.com)
Date: Wed Mar 18 18:38:07 EDT 2015

You know I use it a lot. Is there someway to check it out ahead of time? My
main concern is with my plots that are embedded in various GUI elements. I
sometimes did some weird things there,

On Tue, Mar 17, 2015 at 10:33 AM, Neil Toronto <neil.toronto at gmail.com>
wrote:

> Plot has been converted to Typed Racket in the upcoming Racket 6.2.
>
> I'm strongly considering taking this opportunity to improve the API. The
> change is backward-incompatible, however, so I need input from those of you
> who use Plot a lot.
>
> In particular, recent experience with Pict3D makes it clear that the type
> of the `plot` function shouldn't be this:
>
>   (-> (Treeof (U nonrenderer renderer2d)) ... (U Void (Instance Snip%)))
>
> but should be this instead:
>
>   (-> (Treeof (U nonrenderer renderer2d)) ... Plot)
>
> where a `Plot` instance is a value that can be queried for its properties
> (such as the legend, plot bounds, ticks, etc.) and just happens to print in
> DrRacket as an interactive snip. The type of `plot3d` would be changed to
> return `Plot3D` instances.
>
> Casual uses wouldn't see any change at all.
>
> However, functions that receive or return plots, *which also put contracts
> on plots*, would have to change to use `plot?` instead of (is-a?/c snip%),
> or use (require plot/snip), a new compatibility module, instead of (require
> plot).
>
> How many programs of yours would this change break?
>
> Any objections? Any suggestions?
>
> Neil ⊥
> ____________________
>  Racket Users list:
>  http://lists.racket-lang.org/users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20150318/00260b1d/attachment.html>

Posted on the users mailing list.