<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 02.01.2013, at 23:17, Colin Putney &lt;<a href="mailto:colin@wiresong.com">colin@wiresong.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jan 2, 2013 at 4:18 PM, Frank Shearar <span dir="ltr">&lt;<a href="mailto:frank.shearar@gmail.com" target="_blank">frank.shearar@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><a href="http://blog.datomic.com/2012/10/codeq.html" target="_blank">http://blog.datomic.com/2012/10/codeq.html</a><br>

<br>
Executive summary:<br>
* Git gives version control over files<br>
* Clojure code typically has lots of functions or other chunks of code<br>
in one file<br>
* This means you can't ask for the version of a single unit of code<br>
* Static analyses over the files as they vary through time, dumped<br>
into a database, yields interesting stuff<br>
<br>
What they're calling "codeqs" ("code quantum") filetree folks would<br>
call a file, because filetree already splits everything (I think?)<br>
into bits, and versions everything at the "codeq" level by virtue of<br>
storing each bit in its own file: class definition, comment, method<br>
definition, etc.<br>
<br>
So we already have most of this stuff already - I couldn't live<br>
without my in-image method versions - but I'm wondering if anyone else<br>
can spot anything worth copying?<br></blockquote><div><br></div><div style="">Nah. They're basically figuring out how to extract the semantic changes from git, since git just treats the source code as opaque text. That gets them to what Monticello has now. I guess there's a bit of "imagine what you could do then!" that's unspecified.</div>
<div style=""><br></div><div style="">Which is not to say that it's a bad idea. I'd love to create a huge database of, say, the update stream going back to the beginning, or the entire contents of squeaksource. But... then what?<br>
</div><div style=""><br></div><div style="">Things that spring to mind immediately:</div><div style=""><br></div><div style="">- universal senders and implementors</div><div style="">- metrics like message sends per method or methods per class</div>
<div style="">- detection of package dependencies</div><div style="">- analysis of how long-lived packages change over time</div><div style="">- analysis of contribution and collaboration between coders</div><div style=""><br></div><div style="">
and so on.</div><div style=""><br></div><div style="">But, what good is it? Might be interesting, maybe there's some research papers to be written, but would it do us any good as a community? Would there be useful tools that came out of it? Would it be worth the effort? Hard to say.</div>
<div style=""><br></div><div style="">Colin</div></div></div></div>
<br></blockquote></div><div><br></div><div>Wasn't this one of the goals Dale had for SqueakSource3?</div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Lucida Grande; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="font-family: Helvetica; "><span class="Apple-style-span" style="font-family: Helvetica; ">- Bert -</span></div><br class="Apple-interchange-newline"></span>

</div>
<br></body></html>