Developing Web Applications with Haskell and Yesod
- Length: 298 pages
- Edition: 1
- Language: English
- Publisher: O'Reilly Media
- Publication Date: 2012-05-02
- ISBN-10: 1449316972
- ISBN-13: 9781449316976
- Sales Rank: #3205670 (See Top 100 Books)
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.
- Build a simple application to learn Yesod’s foundation datatype and Web Application Interface (WAI)
- Use Shakespearean template languages for HTML, CSS, and Javascript output
- Produce cleaner, more modular code by learning how Yesod monads interact
- Implement the yesod-form declarative API to build forms on top of widgets
- Learn how Yesod and Haskell store session data and handle persistence
- Use techniques to serve an HTML page and a machine-friendly JSON page from the same URL
- Create reusable components for several applications with Yesod subsites
Table of Contents
Part I. Basics
Chapter 1. Introduction
Chapter 2. Haskell
Chapter 3. Basics
Chapter 4. Shakespearean Templates
Chapter 5. Widgets
Chapter 6. Yesod Typeclass
Chapter 7. Routing and Handlers
Chapter 8. Forms
Chapter 9. Sessions
Chapter 10. Persistent
Chapter 11. Deploying Your Webapp
Part II. Advanced
Chapter 12. RESTful Content
Chapter 13. Yesod’s Monads
Chapter 14. Authentication and Authorization
Chapter 15. Scaffolding and the Site Template
Chapter 16. Internationalization
Chapter 17. Creating a Subsite
Part III. Examples
Chapter 18. Blog: i18n, Authentication, Authorization, and Database
Chapter 19. Wiki: Markdown, Chat Subsite, Event Source
Chapter 20. JSON Web Service
Chapter 21. Case Study: Sphinx-Based Search
Part IV. Appendices
Appendix A. monad-control
Appendix B. Conduit
Appendix C. Web Application Interface
Appendix D. Settings Types
Appendix E. http-conduit
Appendix F. xml-conduit