I find the gtoolkit interface a little clunky in a way I can't quite describe but the core ideas are fascinating:
- if you're looking at a compiled method it's trivial to switch between different representations: you can easily look at the original source or the AST or the bytecode. It's also easy to write your own representations.
- the same applies to all other objects: it's easy to write views which let you query and visualize your application's object graph in the ways which are most useful to you
This sounds a lot like the lisp pitch: While you write your application you're also writing the tools which make it easy to write and debug your application. In Lisp you do this through molding the language; in GToolkit you do this through molding the IDE.