adding thoughts about ditching Wasi for onyx runtime
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Sat, 11 Dec 2021 01:18:21 +0000 (19:18 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Sat, 11 Dec 2021 01:18:21 +0000 (19:18 -0600)
docs/ditching_wasi.md [new file with mode: 0644]

diff --git a/docs/ditching_wasi.md b/docs/ditching_wasi.md
new file mode 100644 (file)
index 0000000..562f002
--- /dev/null
@@ -0,0 +1,22 @@
+Ditching WASI
+-------------
+
+After programming with the dedicated Onyx Runtime and extensible C interop,
+I am beginning to hate WASI, as I see it as unnecessarily restrictive and all
+implementations of WASI lack 50% of the features that it claim. If they fully
+supported all features proposed by WASI, I may be more for it. But as it stands
+WASI is an incomplete mess that has seen no active development in years and I
+would like to ditch it for the Onyx Runtime. It will still remain available for
+the WASI runtime, obviously, but I want to completely ditch it elsewhere.
+
+In addition to reimplementing the file, directory and clock operations that were
+available in WASI, Onyx could support a proper TCP/UDP networking protocol,
+probabily similar to the socket library in Python.
+
+Good article about differences between Winsock and Berkeley sockets:
+https://handsonnetworkprogramming.com/articles/differences-windows-winsock-linux-unix-bsd-sockets-compatibility/
+
+One small technicality that has to be resolved is command line arguments without
+WASI. I think just setting global data and then the Onyx `_startup` function will
+envoke specific function like is done in WASI.
+