<Wanix: The Spirit of Plan 9 in Wasm>
# linking-together
m

Wanix: The Spirit of Plan 9 in Wasm

m
Engineers generalize techniques that they use and assign them names so that they can be more easily recalled and applied to new problems. I believe that we should have a name for the "_everything is X_" technique. Or does one exist already? Wanix (just like Unix & Plan 9 that its refering to) is a perfect example. It really shows how much simpler the web APIs could be if hundreds of JS interfaces that HTML5 brings, were replaced with just one - a "file".
g
Everything is an Atom or a List -- Lisp. Common Lisp allows for incremental typing. First, define every data structure as a list, then refine.
k
I see two similar but distinct techniques at play in Wanix: "everything is X" and "X is a useful representation for many things". The first is about implementation, the second about interfaces. In Wanix, it is not true that everything is a file. The DOM certainly isn't, as you modify it from JS outside of Wanix. The VFS simply provide a file view to it. On the other hand, every service is a capability, by implementation, and there is no way around it.
Moving on to pragmatism, Wanix looks like an immediately useful tool in today's computing environments, unlike Plan 9.
b
Andy Chu calls it "Perlis-Thompson principle": https://www.oilshell.org/blog/2021/07/blog-backlog-1.html#concepts , https://github.com/oils-for-unix/oils/wiki/Perlis-Thompson-Principle . But others literally call it "everything is an X" — with the benefit that everyone will understand it.