Note that this is a work in progress, please get in touch if you are interested.
This library provides a virtual operating system to run your Haskell program. Checkout the git history to see the available modules.
The goal of butler is to implement modular abstractions by simulating a traditional computer.
- Logger and Clock
- Process for supervision tree
- Storage for persistance
- Network for web application
- Websocket session for authentication
- Display for html5 gui
- Audio channel
To validate the abstractions, the project also feature some proof of concept demos:
A window-xp clone with support for multiple "seats":
- Simple invitation system to share the session with other users.
- Dekstop with a menu and tray bar
- Window manager
- Per user cursor and audio channel
- Xterm and Vnc gateway
Usage:
./bin/gen-cert
./bin/run-vnc
./bin/run-ghcid "Butler.demoDesktop"
firefox https://localhost:8080