Nearby, in the discussion about Computer Language Magazine, @HCS says:
I am looking for [a 1990] article by J.D. Hildebrand entitled “Object Soup”.
Newton logo from wikipedia:
I searched, and found something quite different: Apple’s Newton didn’t have a filesystem, but stored user data in an “object soup” - some kind of collection of objects which have access methods, I think.
Wikipedia describes it as a shallow database.
Ian Robinson has a tutorial on Newton Data Storage saying:
Unlike traditional operating systems such as the MacOS and Windows NT there is no file system and therefore no files in the Newton Operating System. Data is instead stored in opaque collections like a database in entities known as soups. Each entry in a soup can be likened to a record in a database and each data member in an entry (known as a slot) can be likened to a field in a database. Unlike database records entries in a soup do not all have to have the same slots. To retrieve data entries from the soups you don’t access them directly but rather send queries to the soups which return cursor objects. You then use the cursor object to get copies of individual entries in the soup. You can then do whatever you want with the copies. The original entries in the soups are not modified unless you overwrite them with your changed copy.
And a document on Symbian’s design principles talks about it thusly:
Instead of a conventional file system the Newton employed an ‘object soup’ storage model.
and quotes Charles Davies as saying:
We had a normal file system on the Series 3. When we went to C++, we talked a lot about persistent models of object-oriented programming, and we went for stream storage. We narrowly rejected SQL in favor of stream storage. I remember the design ideas around at the time, and it was done in the interests of efficiency. Different applications were having to save the same system objects and we were having to duplicate that code. So for something like page margins, which was a system structure, if that object knew how to serialize itself, that would solve the problem. You do that by having serialization within the object, so objects that might reasonably want to be persisted could persist themselves. And that was in the air, I mean Newton had its soup at that time which I think was object-oriented, and there was a belief at that time that object-oriented databases were it, and that objects ought to be seen as something that existed beyond the lifetimes of processes.
There’s a footnote leading to a citation with this DOI
Hildebrand, J. D. (1994) Object Magazine 3:6 (February 1994). NY USA:
SIGS Publications
The article is called Object Soup but I haven’t yet found it. I wonder how similar it could be to the editorial in Computer Language - it’s talking about a toolbag of small programming techniques, not about persistent storage.