<p dir="ltr">Yaron, this summer my students, Kathi Fisler, and I built a block-based, functional language with types (expressed as colors) and testing. It runs in the browser, uses the WeScheme runtime and can express most Bootstrap programs. </p>

<p dir="ltr">It needs more polish before we can release it to the world. We would be happy to give previews to anyone who wants to see them.</p>
<p dir="ltr">--<br>
Sent from phone. Please pardon terseness and mistakes.</p>
<div class="gmail_quote">On Nov 28, 2012 7:38 AM, &quot;Yaron Minsky&quot; &lt;<a href="mailto:yminsky@gmail.com">yminsky@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
To be clear, I&#39;m firmly interested in tinkering, which is why I&#39;m<br>
using universe.ss and image.ss.<br>
<br>
I do think that a good design goal for Racket&#39;s kid-oriented libraries<br>
would be to be feature compatible with Scratch.  It would be great if<br>
there were good ways of doing everything that Scratch can do, from<br>
playing sounds to detecting collisions, to (more aggressively) on-line<br>
hosting of the final result.  I&#39;d love it if Racket were strictly<br>
better than Scratch for someone who really can figure out how to<br>
program, but it&#39;s just not true now.<br>
<br>
y<br>
<br>
On Wed, Nov 28, 2012 at 7:11 AM, Hendrik Boom &lt;<a href="mailto:hendrik@topoi.pooq.com">hendrik@topoi.pooq.com</a>&gt; wrote:<br>
&gt; On Tue, Nov 27, 2012 at 08:56:13PM -0500, Yaron Minsky wrote:<br>
&gt;&gt; I&#39;ve been weaning my son off of Scratch in favor of Racket, and trying<br>
&gt;&gt; to get him to write interactive games using universe.ss and image.ss.<br>
&gt;&gt; I&#39;m wondering if anyone has suggestions for how to do things like<br>
&gt;&gt; collision detection.  image.ss has these nice first-class images, but<br>
&gt;&gt; I don&#39;t see a good way of querying two images to see if they overlap.<br>
&gt;&gt;<br>
&gt;&gt; Has anyone else had luck in doing this?  universe has a nice<br>
&gt;&gt; programming model, but I&#39;ve found it challenging to find simple ways<br>
&gt;&gt; of doing the kinds of things that Scratch makes easy.<br>
&gt;<br>
&gt; There are two arts to collision detection: figuring out whether two<br>
&gt; images collide (which gets trickier when they&#39;re in motion) and<br>
&gt; organising all your objects so you don&#39;t have to test very many<br>
&gt; combinations of them.<br>
&gt;<br>
&gt; Both of these can get quite complicated, and are susceptible to<br>
&gt; nontrivial, complicated, and often necessary efficiency improvements<br>
&gt; depending on special properties of the game.<br>
&gt;<br>
&gt; A one-size-fits-all solution may be good enough for tinkering with, but<br>
&gt; serious use may well need serious hacking.<br>
&gt;<br>
&gt; -- hendrik<br>
&gt; ____________________<br>
&gt;   Racket Users list:<br>
&gt;   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</blockquote></div>