Why Elm? [pdf]
I've tried to use Elm and The Elm Architecture on a project before, but I gave up.<p>The Elm Architecture makes it very easy to create small type safe components, but it forces parent components to manage the state + structure all children components. This makes it hard to use a component and to separate concerns.<p>In order to create a list of stateful children, you must:<p>1. Add a list of the child states to the component state, event if the parent component doesn't care about the child's state.<p>2. Handle adding + removing child state's manually<p>3. Map all scoped child state updates through your reducer, adding a constructor to your action type<p>4. Finally, map each of the child state's to the component's view.<p>You end up big types and match expressions that just manipulate lists. I have yet to see a FRP library that allows you to just use a component without introducing boilerplate.