Issue 21 2016-09-22
Subscribe now! We'll never send you spam. You can also follow us on Twitter or with our feed. Read more issues in the archives.
This release adds the
stack hooglecommand along with dozens of other enhancements and bug fixes.
Writing games in Haskell with SpriteKit
Now there is an alternative that is simultaneously more convenient and more powerful: Haskell SpriteKit provides a purely functional, easy-to-use binding to a modern industrial-strength gaming framework. The price? Your are limited to 2D games on Apple platforms.
Practical Haskell: Simple file mirror
The program I put together is a simple client/server combo, where the client watches for local file changes and sends the updates to the server, which writes them to disk. This approach reduces latency significantly by keeping an open TCP connection, and can be tunneled over SSH for security. It’s simple, and the code is short and readable.
Servant authentication and sessions via cookies
Authentication in Servant is perhaps not as easy and powerful as it should be. However, with Servant 0.5 and later it’s possible to use the feature called “generalized authentication” to add authentication that is closer to real-world expectations than anything before. In this tutorial we will go through building a small application that uses Servant for serving user-facing content, not an API.
FitSpec provides automated assistance in the task of refining test properties for Haskell functions. FitSpec tests mutant variations of functions under test against a given property set, recording any surviving mutants that pass all tests. FitSpec then reports: surviving mutants, indicating incompleteness of properties; and conjectures, indicating redundancy in the property set.
The generic-random library: simple generic Arbitrary instances
First, a quick recap of the problem we are trying to solve: the obvious, naive way of generating random instances of some recursive algebraic data type often produces really terrible distributions. For example, one might generate really tiny structures most of the time and then occasionally generate a humongous one.
Did you like this issue? Let us know on Twitter! Think it could be better? Send us an email or open an issue. Thanks for reading!