Small experiment using the new WASM capabilities of GHC.
nix run .#update
nix run .#build
python -m http.server --directory dist
The app just reads keyboard events (JavaScript), appends exclamation marks to them (Haskell), and prints them to the console (JavaScript).