I'm very happy to announce the release of Yesod 0.2.0. For those who don't know, Yesod is a web framework for Haskell that promotes static type-safety, RESTful design, conciseness and efficiency.
You can find tutorials and other documentation on the Yesod documentation site. This site is also the home to documentation on some Yesod subprojects.
This release introduces some major changes from the previous 0.0 series. The largest of these include:
- Type-safe URLs via the web-routes-quasi package. You no longer splice together strings to create URLs; each application has a datatype which only allows encoding of valid URLs.
- Compile-time checked templates via the hamlet package. Hamlet has a Haml-like syntax and can be embedded directly in Haskell source code via quasi-quoting. Yesod ties Hamlet and web-routes-quasi together to ensure type-safe URLs in your templates as well. Hamlet has many nice features for creating HTML output, I will not enumerate them here.
- Subsites are a new feature which allows you to create web components that can be plugged into multiple sites. Yesod includes two subsites: authentication and static files.
Yesod is still based on the Web Application Interface (wai), allowing it to be served from multiple backends. I will be releasing benchmarks in a few days as I wait for some feedback on one more backend which will hopefully be released soon.
Various other sources of Yesod information:
- I gave a talk to the Southern California Functional Programmers group. There are slides and audio.
- I run my blog with a little bit of Yesod code I endearingly call bloggy.
- If you have questions, please consider joining the Haskell web devel mailing list.
I'm using this code in production, so it is fairly well tested. However, if you find a bug, or even think you've found a bug, please let me know. And stay tuned to this blog to hear plans for the next Yesod release.