gceu23/

directory
v1.8.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2023 License: CC0-1.0

README

Reaching the Unix Philosophy's Logical Conclusion with WebAssembly

Hey there! This is the example code I wrote for my talk at GopherCon EU. This consists of a few folders with code:

  • cmd: Executable commands for the demo.
  • cmd/aiyou: The WebAssembly runner. It connects to cmd/yuechu and exposes network connections as a filesystem. It is intended to run wasip1/echoclient.wasm.
  • cmd/yuechu: The echo server that takes lines of inputs from network connections and feeds them to WebAssembly modules then sends the output back to the client. It runs wasip1/promptreply.wasm and wasip1/xesitemd.wasm.
  • wasip1: A folder full of small demo programs. Each is built with makefile commands.
  • wasip1/echoclient.wasm: A small Rust program that tries to connect to the echo server, prompts for a line of input, prints what it got back, and then exits.
  • wasip1/promptreply.wasm: A small Rust program that reads input from standard in and then writes it to standard out.
  • wasip1/xesitemd.wasm: My blog's markdown to HTML parser. It reads xesite-flavored markdown over standard input and returns HTML over standard output.

In order to build and run the code in this folder, you must be using Nix and be inside a nix develop shell. You can build most files in wasip1 by using make such as like this:

make echoreply.wasm promptreply.wasm

If you have any questions, please email me or open an issue on this repo.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL