[squeak-dev] Mine-able ideas?

David T. Lewis lewis at mail.msen.com
Thu Jan 3 00:15:24 UTC 2013


On Wed, Jan 02, 2013 at 02:42:25PM -0800, tim Rowledge wrote:
> 
> On 02-01-2013, at 2:17 PM, Colin Putney <colin at wiresong.com> wrote:
> 
> > 
> > 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?
> 
> Well, if only the sensible compiled method format had been adopted so that source references could be proper objects rather than hacked-up numbers, then you could have source kept in a proper database. Like, say, dabble. Or a dabble-ish thing that kept recent-ish stuff local and could refer back to a server for ancient history. Find all versions of a method back to the beginning of time. Find out about classes being renamed or deleted. 
> 

Do you have a reference to the sensible compiled method format? I think
I recall some discussions on that topic, but I don't recall when or by
whom.

But really, what are we missing? We have CompiledMethodTrailer that appears to
provide an infinitely extensible mechanism for inventing new kinds of source
pointers.  And we have an abstract SourceFileArray which, if its class comment
is to be believed, is intended to encourage someone to actually go out and do
exactly what you describe:

  "This class is an abstract superclass for source code access mechanisms.
  It defines the messages that need to be understood by those subclasses
  that store and retrieve source chunks on files, over the network or in
  databases. The first concrete subclass, StandardSourceFileArray, supports
  access to the traditional sources and changes files. Other subclasses
  might implement multiple source files for different applications, or
  access to a network source server."

We already have one new subclass (ExpandedSourceFileArray) that was used
to eliminate the old size limit on changes files. There is nothing stopping
someone from coming up with other implementations that delegate to
databases or to something on the internet.

As far as I can see, the only thing that is missing is for somebody to
actually go do it.

Dave



More information about the Squeak-dev mailing list