<div dir="ltr">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,</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 17, 2015 at 10:33 AM, Neil Toronto <span dir="ltr"><<a href="mailto:neil.toronto@gmail.com" target="_blank">neil.toronto@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Plot has been converted to Typed Racket in the upcoming Racket 6.2.<br>
<br>
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.<br>
<br>
In particular, recent experience with Pict3D makes it clear that the type of the `plot` function shouldn't be this:<br>
<br>
  (-> (Treeof (U nonrenderer renderer2d)) ... (U Void (Instance Snip%)))<br>
<br>
but should be this instead:<br>
<br>
  (-> (Treeof (U nonrenderer renderer2d)) ... Plot)<br>
<br>
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.<br>
<br>
Casual uses wouldn't see any change at all.<br>
<br>
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).<br>
<br>
How many programs of yours would this change break?<br>
<br>
Any objections? Any suggestions?<br>
<br>
Neil ⊥<br>
____________________<br>
 Racket Users list:<br>
 <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/<u></u>users</a><br>
</blockquote></div><br></div>