Hello Andrew,
A recent discussion with ROS_Guy on IRC prompted me to start toying with the idea of a completely object-oriented system.
I implemented a few test classes, and it was written in a combination of C and C++ (the main interface was C.) Basically you'd have objects and classes, as with OO programming.
However, the difference here is that files would be object instances, and to use a file you'd just "import" the object. The system would then automatically load the file handler for that object. By default, a "class" handler allows special DLLs to be loaded that contain a class definition (not in the C++ sense - it was a table of action names with addresses). In effect, a class in this case would've been an instance to begin with (an instance of the CLASS object.)
Thise ideas are in now way "crazy". :-) Did you ever look into BeOS? They were using a C++ API exposed by the operating system. The whole system could be seen as an object oriented environment! I've got the book "Beos developer guide" lying around here. It's all described there.
Sadly they did not earn enough money, so the project died in the end.
Martin