Doing it better 1999-02-08 b ### From Reuben > I appear to have mis-addressed this e-mail. Did you get a copy too? I have now. > You've got me thinking about my Diploma project again. You seem to have a > slightly negative feeling about it, which is easily explicable, but I Not really negative, there are two things: 1. I haven't got as high-level as it yet. 2. I want to do my own thing first for the simple virtue of getting something done without distraction. After all, we've been talking about the ideas for years, now I want to get some code down. > These are all things which we'd otherwise have to worry about all over > again. I'm worrying about them for the first time, I suppose. > As for putting too much functionality in the bottom layer (heap, > channels): I didn't put the VM there, did I? No, you didn't have a VM. But for portability I want a VM at the bottom (though it's separate from the channels/threads). > We have two components (channels and nodes) which are essentially > different and both necessary (discuss: see later), and we also have the > requirement for a place to put efficient VM code and the memory it needs. > Previously I put the code and memory in the nodes, to make objects, and > had very dumb channels. Could we put the code in the channels, to make > filters, and have dumb routers at the nodes? Don't know. This is precisely the sort of question I wanted to avoid. I think my model is simple enough that questions of efficiency and organisation can be added in later via typing. I want a very simple system (what I've designed) and then a type manager (which should have models of things like types, versions and protocols, but it's essentially all typing) and then we can build whatever else on top and underneath my base. Even do experiments. We can also use what I start with as a basis for language experimentation rather than OS experimentation if desired (e.g. write a dataflow scheduler and a prolog scheduler). > I think that covers it. Covers what? All sounds interesting, we'll have to talk and see if we can link up what we're talking about (by going back to fundamentals: what are we trying to achieve?). That's another thing I hope I've done with my simple system: instantiated a world-view on which we can't disagree, it's so simple and leaves so much out. -- http://www.cl.cam.ac.uk/users/rrt1001/ | maxim, n. wisdom for fools