Writing to announce a new functional UI programming paradigm and implementation for Haskell.
Features a declarative programming model, rendering polymorphism, no FRP constructs, single source of truth, and convenient composition of components via lenses.
She sure is a Shpadoinkle website (written as statically generated Shpadoinkle)
Full support for
- single-page applications (routing with Servant!)
- static site generation
- server-side rendering
- time travel debugging (maturing)
- live reloads with GHCID
- growing widgets library with common types for UI baked in.
Actively maintained by Platonic Systems.
This work was originally motivated by a desire to capture the lessons I have learned from a decade of working with different UI technologies. As well as a desire to have the benefits of The Elm Architecture without compromising on compositionally, or being forced to use a nerfed language (Elm). Shpadoinkle drops through the abstract floor to uncover the simplicity in the substructure of UI programming. While systems like Reflex offer a recursively Monadic structure, and Elm offers merely Functorial structure, Shpadoinkle is not even a Covariant Functor.
Let me know if you have any issues or questions on our community Zulip