upvote
Have a look at Objective-Smalltalk[1][2], with polymorphic identifiers[3] (all identifiers are URIs), storage combinators[4] (virtual filesystems on steroids), and polymorphic write streams[5] (streams everywhere).

Objective-Smalltalk basically provides the sorts of things you write about locally at the language level. You could also move specific instances behind an operating system boundary.

[1] https://objective.st

[2] https://dl.acm.org/doi/10.1145/3689492.3690052

[3] https://dl.acm.org/doi/10.1145/2508168.2508169

[4] https://2019.splashcon.org/details/splash-2019-Onward-papers...

[5] https://dl.acm.org/doi/10.1145/3359619.3359748

reply
Could you explain the connection you see a bit more?

Part of the appeal of the Plan 9 approach was that you could use any program in your distributed environment, written in any language, because the abstraction layer was the file system – the lingua Franca of IO.

reply
Oh wow, I didn't know it had things like that.

Especially the CPU functionality is really interesting. I'm pondering similar problems and the current solutions just aren't good enough.

reply
Redox seems to take inspiration from it and has all things exposed as schemes so /home/user is actually /scheme/file/home/user, etc.
reply