morucci / haskell-butler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

haskell-butler

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.

Project Status

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:

Multiplayer Desktop

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

About

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Haskell 98.9%Language:Nix 0.7%Language:Shell 0.3%