The power of Racket, particularly it&#39;s ability to compose of map, fold, and filter, is exactly what I need. I&#39;m not sure the R library is particularly transferable to Racket though, but I&#39;ll need to study it more to be sure. I&#39;ll start down the path of implementing a few relational algebra primitives over a generalised dataset structure (well, an assoc list) and see how far that gets me. I&#39;ll keep the list informed though.<div>

Thanks,<div>Simon.</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 7 November 2012 05:38, Matthias Felleisen <span dir="ltr">&lt;<a href="mailto:matthias@ccs.neu.edu" target="_blank">matthias@ccs.neu.edu</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Perhaps the right approach is to migrate/adapt/port the R library to Racket?<br>
<br>
That way you get what you need, plus experience in building a DSL, plus the power and speed of Racket.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
On Nov 5, 2012, at 11:32 PM, Asumu Takikawa wrote:<br>
<br>
&gt; On 2012-11-06 15:22:49 +1100, Simon Haines wrote:<br>
&gt;&gt;   As part of my work, I frequently have to &#39;shape&#39; multi-dimensional<br>
&gt;&gt;   datasets. This is reasonably easy to do in Racket and I&#39;m thinking<br>
&gt;&gt;   about pulling together some of the functions I use into a library.<br>
&gt;&gt;   Before I do this though, I was wondering if there is any similar work I<br>
&gt;&gt;   can build upon, or perhaps use to guide me.<br>
&gt;&gt;<br>
&gt;&gt;   [...]<br>
&gt;&gt;<br>
&gt;&gt;   I haven&#39;t worked out the details yet, and I&#39;m not sure the above will<br>
&gt;&gt;   work the way I want it to. But I&#39;ve had a quick look at Microsoft&#39;s<br>
&gt;&gt;   Scientific DataSet ([1]<a href="http://sds.codeplex.com/" target="_blank">http://sds.codeplex.com/</a>), but it lacks the<br>
&gt;&gt;   composability I&#39;m used to with Racket. Is anyone aware of any similar<br>
&gt;&gt;   work that does this, or that I could use as a guide?<br>
&gt;<br>
&gt; I don&#39;t know about Racket, but have you seen the &#39;reshape&#39; library in R?<br>
&gt; It&#39;s very flexible and is probably one of the state of the art designs<br>
&gt; in this space.<br>
&gt;<br>
&gt; Here&#39;s a journal article describing its design:<br>
&gt;  <a href="http://www.jstatsoft.org/v21/i12/paper" target="_blank">http://www.jstatsoft.org/v21/i12/paper</a><br>
&gt;<br>
&gt; and its website:<br>
&gt;  <a href="http://had.co.nz/reshape/" target="_blank">http://had.co.nz/reshape/</a><br>
&gt;<br>
&gt; Cheers,<br>
&gt; Asumu<br>
</div></div><div class="HOEnZb"><div class="h5">&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>
</div></div></blockquote></div><br></div>