Issue 85
Welcome to another issue of Haskell Weekly! Haskell is a safe, purely functional programming language with a fast, concurrent runtime. This is a weekly summary of what’s going on in its community.
Want to see something featured in Haskell Weekly? We love contributions! Open an issue or pull request on GitHub.
Featured
-
Welcome to a tour of Go in Haskell. This site will show how to write the concurrency section of “A Tour of Go” in Haskell. “A Tour of Go” is a famous tutorial of Go. Haskell has concurrency features similar to Go: lightweight thread, channel, etc..
-
All about strictness analysis: Part 1
Non-strict languages like Haskell often require the programmer to reason about strictness to achieve good performance. In this post, I want to offer a surgical approach to plugging space leaks that works hand in hand with optimizations carried out by the compiler.
-
This slideshow presents basic Haskell syntax and explains how to read and understand it.
-
Announcing generic-lens 0.5.0.0
The generic-lens library provides utilities for deriving various optics for your datatypes, using
GHC.Generics
. In this post I’ll go over some of the features and provide examples of using them. -
JSaddle: ArrayBuffers and notifications
This post will demonstrate a couple of techniques for using the GHCJS helper libraries: jsaddle and jsaddle-dom to: Create an ArrayBuffer for use with WebGL, and leverage the Notification API available in some browsers.
-
There are two related C functions for finding the next character in a string:
strchr
which assumes the string has a NUL character at the end, andmemchr
which takes the string length as an argument. For strings where you have the size and a NUL terminator, which is fastest? -
We turn our attention back to Haskell to help us get the best possible foundation for really diggin’ into functional programing. For me, only after doing piles of short examples does it sink in for me. It’s the repetition and console output that is key.
-
Haskellaus: Haskell meets Nikolaus
The lazily evaluated FP Saint Nicholas doesn’t show up until you force him so he is a bit late, but this Friday is Haskellaus — treats for the functionally inclined. Saint Nicholas has a bag full of challenges that we will try to solve.
-
I’ve been working on quickcheck-classes for a while now to test type class instances in various libraries and applications. It provides property tests to check the laws for several common typeclasses in base.
-
Encoding overlapping, extensible isomorphisms
My initial motivation for
-XDerivingVia
was deriving across isomorphisms. Standard type-class encodings of isos turn out to be awkward due to overlap. There may be many different witnesses to an isomorphism between two types.
Jobs
-
TVision Insights seeking Software Engineer in Boston
As a key member of the development team, you will be responsible for designing and implementing solutions that analyze and process large data streams and populate our columnar analytics databases in AWS.
In brief
- 25th anniversary of GHC
- Announce: Cabal 2.0.1.1 / cabal-install 2.0.0.1
- Announce: Haskell Platform 8.2.2
- Co finds a pairing
- Continuation passing style free monads and direct style free monads
- Streaming arithmetic coding
Package of the week
This week’s package of the week is Brick, a declarative terminal user interface library.
Call for participation
- purebred: Simple version which build/version of purebred users are running
- universum: Change arguments order for foldl’
Events
- December 14: Las Vegas Functional Programming User Group: Functional Programming Meetup
- December 15: Utah Elm Lunch: Utah Elm Lunch
- December 16: The Bangalore Haskell User Group: Web Apps, Concurrency and Compilers
- December 17: SPACE meetups: F(by) Conference 2017
- December 18: Karlsruhe Haskell Lerngruppe: Funktional Muster, Rekursion - Kapitel 7 und 8
- December 19: Monadic Warsaw: Monadic Warsaw #13
- December 20: Houston Functional Programmers: Pre-holiday social meeting
- December 21: Brisbane Functional Programming Group: Brisbane Tech Drinks