Little Any is my new best friend.<br><br><div class="gmail_quote">On Thu, Aug 9, 2012 at 4:50 PM, Matthias Felleisen <span dir="ltr"><<a href="mailto:matthias@ccs.neu.edu" target="_blank">matthias@ccs.neu.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
You can use wider types. It is one thing to be able to formulate types at all and another to formulate the most descriptive ones, right?<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On Aug 9, 2012, at 3:27 PM, Neil Toronto wrote:<br>
<br>
> On 08/09/2012 12:52 PM, Ray Racine wrote:<br>
>> Noticed here <a href="http://www.ccs.neu.edu/home/samth/adapt/Current_Status.html" target="_blank">http://www.ccs.neu.edu/home/samth/adapt/Current_Status.html</a><br>
><br>
> I had no idea someone had been assigned. Cool!<br>
><br>
>> That the Plot collection still awaits porting to TR. Has any partial<br>
>> work been done, maybe languishing in a github repo somewhere, that can<br>
>> be leveraged?<br>
><br>
> Are you volunteering? :)<br>
><br>
> It's only possible now that TR has support for keyword arguments.<br>
><br>
> There's one issue that could cause problems: some renderer-producing functions, like `points', accept lists of vectors as arguments. If the data argument to `points' had a nice, general type like<br>
><br>
> (Listof (Vectorof Real Real))<br>
><br>
> then applying `points' to<br>
><br>
> '(#(0.0 1.0) #(1.0 2.2))<br>
><br>
> wouldn't typecheck. The problem is that TR thinks `points' might change that 0.0 to 0, which would make the original argument type (Listof (Vector Float Float)) incorrect. It thinks Bad Things could happen. (Technically, a vector is "invariant".)<br>
><br>
> I can think of two solutions right now:<br>
><br>
> 1. Wait for a Const type constructor or similar.<br>
><br>
> 2. Change the contract of `points' to accept lists of pairs, sequences or a specialized data type.<br>
><br>
> I think the contract of `points' should be changed anyway, so users can send it any kind of sequence. Might as well make it current-TR-friendly at the same time.<br>
><br>
> Neil ⊥<br>
><br>
> ____________________<br>
> Racket Users list:<br>
> <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br>
</div></div><br>____________________<br>
Racket Users list:<br>
<a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
<br></blockquote></div><br>