Shpadoinkle UI: Web development for Haskell

Shpadoinkle UI

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

9 Likes

Neat! The link to https://fresheyeball.gitlab.io/Shpadoinkle/examples/calculator-ie.jsexe/ on https://shpadoinkle.org/tutorial/immediate-execution/ seems to be dead

How does Shpadoinkle compare to Miso?
I believe it also uses the Elm architecture.

3 Likes