A web framework for concatenative web application programming using pipes