This is a cross-post from my blog.
Composition of components in concave is different to other component based frameworks or compilers. In concave you don't compose entire components you just compose render functions which will return HTML.
I have created a simple Todo App to show you some code.
I created concave to have a simple framework which isn't hiding complex tasks from me. What I want is to have simple and understandable code without "magic". With template composition I can concentrate on how I want to transform data and show it to my users. With other frameworks you have the ability to have e.g. child components and communicate with them, but this is getting more complex with more components you introduce.
Components in concave are little bit different to other frameworks when you are familiar with the concept. In concave components are composing render functions and render them with props and state. In my opinion the reusability of render functions is a lot better than entire components because I don't need to think of the internals of this components. If you need component-to-component communication you can dispatch an action and react on that with an actionReducer in another component.