External Publication
Visit Post

[ANN] Rivulet Window Manager

Haskell Community [Unofficial] April 13, 2026
Source

I sort of accepted early on that everything is going to be I/O just by nature of what we’re building,

It’s great for a first pass, and that was my thoughts for when I was working on the direct implementation. With the building the compositor on top of River though, pretty much everything becomes messages. I think most of the window layout stuff would become Event → [Request]. We’d of course have stuff like spawning that will of course be IO.

… implement the Wayland socket protocol in pure Haskell

Yes! I was wondering about that too. It seems a lot more plausible when working with River… I was looking into the wire protocol a bit, and it seems mostly straightforward. It’s mostly a list of numbers for object and method ids. One of the complications is that it would need to be stateful to implement the new_id type.

Discussion in the ATmosphere

Loading comments...