Cleaned up the class hierarchy of the GOOPS objects. I think it might be possible to make
(define-class <my-object> (<gtk-window>))
actually subclass the <gtk-window> in the GType system. You can subclass now, of course, but the syntax isn't really schemey.
So now interfaces are in the class hierarchy, which is good. Some more fixes and custom wrappings later, and I have a working graphical REPL! I'm pleased. The GtkEntry turns into an input port, the GtkTextBuffer turns into an output port, and the repl just reads from and writes to those ports. Rather elegant. I like Scheme.
There's an interesting summary of the issues involved in an old email by Neil Jerram. Have a read, it's thought-provoking.
The REPL is a big part of the (planned) graphical interface to soundscrape. The other big part is a source code editor. I think I'll patch GtkSourceView to know about scheme, and then wrap it.
Man, I really need to release. I'll finish the envelope-generator and event spawner and release, as soon as guile-gobject can make a release as a GNU project.
I'm alternately shocked at how clever grade 9 is and how... slow grade 8 is. Check out this question: "Mr. Wingo. If baking soda reacts with acids to make carbon dioxide, how come when I eat a cake my stomach doesn't get big?" Wow. Those kids (grade 9) understand. (Answer: When carbonates are heated they release the carbon dioxide, which is why we put Na2HCO3 in cake dough.) But then grade 8 doesn't know the words "depart" and "arrive" and can't read timetables. How does grade 8 change into grade 9? I'm baffled.
One year in Africa on Monday. Life is nice. We had our first rains of the season on Thursday. High winds, etc -- I still haven't cleaned the house, it's all coated in dust. Unfortunately the wireless tower in town was somehow damaged, so internet is out at the school. Ah well.