Chris Mellon

Just here so I have a WikiName to refer to myself by. I'm new.

Welcome to Wiki.

Thanks for your WxWidgets comments. You know, the ambiguity in the word "hard" is interesting. It can mean "conceptually easy but time consuming", or it can mean "conceptually difficult but easy once you get the idea", or it can mean both or neither.

I think that, psychologically, most things seem conceptually easy once you understand them thoroughly, which means that, with sufficient background, most kinds of programming are "easy but tedious", in one sense. But there still remains the sense of easy versus hard relative to e.g. how long it takes to do something.

Good to keep in mind in future discussions. -- DougMerritt


What page was it where we ended up talking about stateful high-level caps? Anyways, you asked so here's my design of a universal system of Power Relations. I'll be interested to know what you can make out of it, specifically whether you can see how it can be used to do stuff, alternative concepts, and why the alternatives aren't as good.

Objects are Linked to each other with certain Powers over each other. The links form a directed singly-rooted Graph with vertex directions set by Ownership.

Ownership is a transitive relation between objects which supercedes all other powers over an object; an owner has all powers. An owner gets to specify powers.

The Standard Powers are accessing, modifying, reflecting and owning.

Links route Messages to their destination in the graph. Messages pick up powers according to the links they traverse.

Am I correct in understanding that you mean Message here in the Smalltalk sense? IE, a request for an object to perform an action?

At any time, links can Allow, Deny or react to any power they choose to invent.

Links can choose to neither allow nor deny a power but rather to Inherit the choice made by the previous link in the Message Path. This supports Aggregation. The best default set of powers in most cases is "neither allow not deny".

Any modification uses up an object's Resources. An object can request to acquire resources from its links. Links transfer or deny requests based on their Quota. The best default quota in most cases is Infinite.

An object can grow in size by acquiring more of some Positive resource. It can shrink in size if it has an Open Path to the Infinite Source of a corresponding Negative resource.

An object keeps track of all its Versions. Revoking a power only applies to Future Versions. The past cannot be revoked.

The past can be accessed and modified in the same way as the present. When the past is modified, it branches off a new universe. Time travel works!

I think that's all of it, but either way it's 10 lines. Good luck trying to implement it. Though you shouldn't bother because I already have. I just have to sink this into some kind of OO programming language.

-- RK


Chris, are you deleting RA's comments on IvanIllich and elsewhere? -- RK


CategoryHomePage

EditText of this page (last edited May 31, 2006)
FindPage by searching (or browse LikePages or take a VisualTour)