Aninteresting dissertation suggests that in the future, quite a lot of applications might be able to be defined in terms of a generic editing framework like this one.The Proxima prototype is written in Haskell and uses wxHaskell for the GUI. It...
…is now available in PyProtocols CVS. So far this is just the CLOS “standard” method combination, with before/after/around/primary/call-next-method. But the infrastructure is now there to build any sort of qualifier-based method combination ala...
I’m beginning to think that predicate-dispatch generic functions capture something really fundamental about computation, or that at least they’re much more fundamental than interfaces or adaptation. As useful as interfaces and adaptation are...
I just refactored the access control rules framework in peak.security to use generic functions instead of adaptation. The result has less than half the code (about 140 lines versus the old version’s 480), and uses only one interface (versus eight in...
People sometimes complain about new Python features as being too tricky; sometimes I think they should look at what’s already in Python.As of version 2.3, the sort algorithm changed to use rich comparisons, specifically the __lt__ form. This...
Oliver Steele does a better job than me at explaining my position on optional type declarations. (Via Patrick Logan’s blog.)Anyway, he’s given a pretty decent summation of my interest in type declarations, even though he doesn’t mention adaptation...
I’ve just posted a draft PyCon proposal to the PEAK Wiki; I’d be interested in feedback from anyone interested in the subject. Are there any topics missing from the outline that you’d like to see? Conversely, am I belaboring the obvious in it? The...
After thinking through the fact base design a bit more, I think I have a clearer picture: a fact base is a mapping from fact types to fact sets, that supports rules that are invoked in response to change events. I’m here using “fact type” as...
My idea of how the fact-base thing will work keeps evolving in interesting ways. For example, it seems clearer to me now that it’s not necessary to restrict facts to tuples, or to require their state to be externalized. Facts can be arbitrary...
I think I’ve figured out how to solve a slightly different constraint satisfaction problem from the one I was working on Friday. I was thinking about GUI constraints, of the sort used in the Laszlo rich client platform. Laszlo uses constraints to...
I’ve been thinking a lot lately about the design of a constraint management system for peak.schema. Among other things, I want the system to be able to check constraints immediately, at transaction commit time, or upon request. Further, it should be...
Bram Cohen, author of the popular Python program “BitTorrent”, recently had some interesting things to say about software architecture:Half of these ‘emotional’ architectural decisions are dogmatically using a past practice in situations where it’s...