Concur is an unusual Web UI framework based on an entirely new paradigm, one that does not follow FRP (Reflex FRP) or Elm architecture, but aims to combine the best parts of the both. Concur initially started out as an architecture layer on top of Reflex, before the author decided that Reflex was too heavy and ditched it.

Concur compared to Reflex

Anupam Jain, the author, wrote concur to overcome what he sees as the shortcomings with Reflex. He writes:

I wrote Concur as a way to overcome what I saw as shortcomings with Reflex. In particular layout is inherently monoidal and Reflex uses a Monad instead, and this causes code structuring issues, causing the UI code to not scale with complexity. I wrote production Reflex code before I wrote Concur, and Concur was an experiment in finding a way to retain the power of Reflex, while making layout simpler and scalable.

In a discussion with Cale Gibbard, he indicated his underlying motification being that reflex “feels too low level and there is a distinct lack of application architecture” and a desire to have something positioned in between the expressive but hard-to-use world of Reflex and the limited by easy-to-use world of Elm.