This is a proof of concept: Write a simple Wayland client in Haskell without calling the libwayland client library via FFI. The code implements directly the Wayland wire protocol.
We have the following subdirectories:
This is the original code of the Wayland Book. At the time of writing, the original version was no longer accessible.
Currently this directory contains the code upto the chapter example-code
Add additional requests from the folllowing chapters
This directory contains a more or less simple translation of the code in the Book
directory from C to Haskell. I think the result is rather clumsy. Therefore I won't add additional code.
At the moment, the code up to the extended example has been translated to Haskell.
This directory contains a generator application to generate Haskell functions for the Wayland request and event-handling functions from the defining xml files.
The generator is in alpha state. It generates al the functions from the wayland.xml and xdg-shell.xml files.
Additional changes will be needed during the development of the client. The enums
are still missing.
This directory contains a extremly simple Haskell client for Wayland. This is currently the main focus of the development.
The used *.xml files: