[ANN] first release of hs-wayland-scanner

I’ve just uploaded to Hackage the first release of hs-wayland-scanner, an implementation of the Wayland Message Definition Language to produce low-level Haskell bindings for Wayland client/server protocols.

It will process multiple protocols in a single run, checking for dependencies, in order to properly generate imports for all modules. All depending protocols must be generated at once and unresolved dependencies will produce an error.

The generated Haskell modules will also include the documentation, that can be processed with Haddock.

The package also includes some examples that I hope will be useful to start playing with it. I wrote it to start digging into the Wayland world and possibly produce some higher level API for river. It seems like I’m not the only one aiming at this goal… :wink:

The code can be compiled with MicroHs, even though the generated bindings cannot.

More information can be found on the project repository:

Best regards,
andrea

9 Likes

Great to see! A higher level API for River would be much appreciated. I think another thing that the Haskell community lacks right now is good wayland-client bindings… and, of course, the looming shadow of a compositor library. Stuff like hs-wayland-scanner will make this long-term goal much, much easier.

I was trying to figure out, for Rivulet, a way for it to show a simple window on the screen when the user has a bad config - something like a small dialog box saying “Config compilation failed…”. I quickly learned that doing this in Haskell is much more complicated than I thought, and now I’m probably just going to use notify-send. But hopefully we get there eventually! More higher-level GUI bindings are the key!

1 Like