A CodeDOM-Aware Generative IDE

From: Ben Houston (ben@exocortex.org)
Date: Sat Jun 15 2002 - 01:49:13 MDT

I just wrote this:
> I've tried writing some code that manipulates CodeDOMs as well as code
> that manipulates human readable C# code for the purposes of execution
> code generation. So far I have found it to be fairly challenging. I
> almost feel as if there is some useful tool that is still not build
> Maybe I just need some more abstract programming concepts such as ADTs
> functional blocks in a parallel structure to the current CodeDOM?
What do
> you all think?

Hmm... I really need a better tool to really take advantage of all the
possibilities that CodeDOM presents. Basically, I don't really want to
do run-time code generation -- I want to do development-time code
generation and refinement. I want, within my IDE, to be able to write
environment-aware scripts that can take the CodeDOM of one source file
and manipulate it according to my whims in order to generate one or more
other CodeDOMs / source file. The source file generating scripts
shouldn't be isolated scripts but scripts that are aware of the whole
design problem that I am working on -- basically the scripts themselves
would form a program that one executes to generate one's target program.
Thus I can modify a few parameters in one area and cause all the scripts
to function differently. If the scripts use a high level language such
as C# the polymorphism presents amazing opportunities. ;-)

Development in such a generative CodeDOM-aware IDE would be a more
dynamic and abstract process that what the norm currently is. This is
sort of a ramble but hey it's 4am here. ;-) I think that development is
implicitly going in this direction anyways even if everyone doesn't
quite realize it explicitly.

Does anyone know of other environments/languages that have more fully
developed this type of development paradigm?

I hope I make sense. I should get some sleep. ;-)
Ben Houston

This archive was generated by hypermail 2.1.5 : Wed Jul 17 2013 - 04:00:39 MDT