Shady is a high-performance implementation of functional graphics, in the heritage of Pan and Vertigo. The components are as follows:
- Compile functional specifications into GPU code: shady-gen
- Add graphics: shady-graphics
- Rendering: shady-render
- GUIs: shady-tv
- Examples: shady-examples
Shady has been sitting on the shelf for a few years while I've been waiting for a cross-platform, GHCi- and OpenGL-friendly low-level GUI library in the Haskell ecosystem.
The rendering part appears to be broken currently. Last time I tried, I got a segfault, presumably in an OpenGL call. I guess something changed in the OpenGL bindings.
I'm much stronger with language, library, and compiler design than with complex, low-level libraries like OpenGL. I would love help getting things working again. In particular, I want to overhaul the OpenGL part (in shady-render). This part was written long ago when Haskell OpenGL bindings lacked several key abilities, so I used glew bindings by Ivan Tomac.