Brillo 2.0 - Production ready 2D graphics
Haskell Community [Unofficial]
March 5, 2026
Deconstructing / pattern matching was already supported as the constructor was already exposed. So they were not even true smart constructors. Given that, I don’t really see a point in wrapping it with a useless polygon = Polygon.
Also, I think graphic programming is one of the few areas where you actually want to know what’s going on under the hood so you don’t accidentally introduce performance bottlenecks.
- Picture data constructor → Directly handled by Brillo
- Function → Some code will be executed to create the Picture. You might be able to implement it in another way that better suits your use-case (lower resolution polygon, shader, bitmap, …)
Discussion in the ATmosphere