Version 1, last updated by David Bernard at December 15, 2011 14:15 UTC
Scala IDE Architecture History
The Scala IDE was originally structured using a rather elaborate encoding of virtual classes as described here.
Whilst innovative, this has proven to be fragile (because it exercises many of the darker and least widely used corners of Scala's type system), lacking in modularity (paradoxically, given the motivation for the VC encoding), hard to comprehend and hence difficult to maintain, and extremely forbidding to newcomers to the codebase.
As of August 2009 the codebase has been refactored into a more accessible form for the upcoming 2.8.0 release. There's still a great deal of cleanup work to do on the codebase, but it should now be far less forbidding to casual contributors.