

I think that anything in Plan 9 that involves a filesystem makes total sense. It’s just too easy to just make a thin layer that works with files.
For instance, I was once building a GUI for a project in Plan 9 C, that communicated with the remote server using REST requests. All I had to do is use the webfs filesystem interface. It works somewhat like this:
- You open
/mnt/web/clonefor reading and keep it open. Reading that file gives you a handle number for your connections. - Open
/mnt/web/%d/ctl(%dbeing the handle number) for writing. Then you write a few textual information for your request, e.g.request getfor the method,url https://my-website.com/for URL,headers blablafor each header parameter, etc. - If you’re sending data, set the
contenttypethrough thectlfile as above, then write the request body to/mnt/web/%d/postbody. - Open
/mnt/web/%d/bodyfor reading. This action performs the actual request, and may take some time. Nevertheless, for your program, it is simply a blocking file operation.
I think this illustrates how simple Plan 9 can be, so I think it is possible to port most, if not every part of 9fans.net libraries to native Plan 9 by reimplementing a few functions to do file operations instead of using the plan9port binaries.


I see that you’re using Acme over there… :)
Are you somewhat inspired by how Plan 9 handles e-mail? I was wondering if I could do the same but for 9front.