Yesod

SNOYMAN, Michael, 2015. Developing web apps with Haskell and Yesod. Second edition. Beijing: Oreilly. ISBN 978-1-4919-1559-2.

“This fast-moving guide introduces web application development with Haskell and Yesod, a potent language/framework combination that supports high-performing applications that are modular, type-safe, and concise. You’ll work with several samples to explore the way Yesod handles widgets, forms, persistence, and RESTful content. You also get an introduction to various Haskell tools to supplement your basic knowledge of the language. By the time you finish this book, you’ll create a production-quality web application with Yesod’s ready-to-use scaffolding. You’ll also examine several real-world examples, including a blog, a wiki, a JSON web service, and a Sphinx search server”--Publisher’s description

# Preface

It’s fair to say that dynamic languages currently dominate the web development scene. Ruby, Python, and PHP are common choices for quickly creating a powerful web application. They provide a much faster and more comfortable development setting than standard static languages in the C family, like Java.

But some of us are looking for a bit more in our development toolbox. We want a language that gives us guarantees that our code is doing what it should. Instead of writing up a unit test to cover every bit of functionality in our application, wouldn’t it be wonderful if the compiler could automatically ensure that our code is correct? And as an added bonus, wouldn’t it be nice if our code ran quickly too?

These are the goals of Yesod. Yesod is a web framework bringing the strengths of the Haskell programming language to the web development world. Yesod not only uses a pure language to interact with an impure world, but allows safe interactions with the outside world by automatically sanitizing incoming and outgoing data. It helps us avoid basic mistakes such as mixing up integers and strings, and even allows us to statically prevent many cases of security holes like cross-site scripting (XSS) attacks.

~

=> Dynamic programming language. wikipedia