Formlets are about applicative instances, but what about monadic instances? What a Monad instance of formlets means? I recently experimented with this and the results are very interesting -and powerful-. It mixes the best of web forms, with the flexibility of console applications.

Since the monad instance of the MFlow widgets (The View monad) stop at the first widget not validated or empty, and because a monad can manipulate output values of the widgets and therefore the result can be presented along the widget inputs, then the resulting interface is a mix of a console application, an spreadsheet and a dynamic HTML application that is programmed in plain simple imperative style without the need of javascript to achieve the dynamic behaviour

Since the monad instance of the MFlow widgets (The View monad) stop at the first widget not validated or empty, and because a monad can manipulate output values of the widgets and therefore the result can be presented along the widget inputs, then the resulting interface is a mix of a console application, an spreadsheet and a dynamic HTML application that is programmed in plain simple imperative style without the need of javascript to achieve the dynamic behaviour