Issue 89
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? Open an issue or pull request on GitHub.
Featured
-
New things in Haskell package QA
During the last month I have been working (not alone) on few Haskell package QA related tools:
cabal-plan
,multi-ghc-travis
&trustee
. In this posts I’ll show what’s new! -
When I wrote Tasty in 2013, I borrowed the pattern language and its implementation from test-framework. I wasn’t fond of that pattern language, but it did the job most of the time, and the task of coming up with a better alternative was daunting.
-
What is new in cross compiling Haskell
In December I was finally able to provide new GHC cross compiler binary distribution for iOS, Android and Raspberry Pi from macOS Sierra and Linux.
-
Using a development version of GHC with Nix
In this post we look at combining modifications from different sources. The goal is to create a package set which can be used to compile packages with HEAD.
-
A generative approach to simulating watercolor paints from scratch
In my seven years of programming I have had the most fun in the past few months after discovering generative art. Hopefully you’ll see in this guide how fun it can be getting interesting images to look at as a reward for every little challenge you take on.
-
Introduction to singletons: Part 2
Welcome back to our journey through the singleton design pattern and the great singletons library! This post is a direct continuation of part 1, so be sure to check that out first if you haven’t already!
-
People of programming languages: Interview with Simon Peyton-Jones
We talk about seeing functional programming go from intellectual revolution to practical reality and the importance of investing in programming education.
-
Papers I read and loved in 2017
I spent 2017 as a research intern working at the systems group, ETH Zurich. I worked on Polly, a loop optimizer for LLVM, so this had me read a bunch of compiler related papers.
-
Is
State
aComonad
? NotCostate
or rather,Store
as we tend to call it today, but actuallyState s
itself? Let’s see! -
radixtree: A prefix-tree parsing library for Haskell
This is just a brief post about radixtree, which is a library that produces radix trees from text values and provides a generic parser suitable for use with Attoparsec, Trifecta, or Parsec.
Jobs
-
IOHK seeking Haskell infrastructure wrangler in Scotland
There are many Haskell infrastructure tools used by academics and in industry, including compilers, debuggers, profilers, packagers, and documentation tools. We are looking to fill a post devoted to improving Haskell infrastructure.
In brief
- A quick tour of generic-random
- Breaking changes, dependency trees
- Functional programming for mathematical computing
- GHCJS 8.2
- Idris 1.2.0 released
- Immutability: The less things change, the more you know
- Monads are just monoids in the category of endofunctors
- Optimizing tagless final
- Parsing and tweeting
- Request for comments on expanded
Data.Sequence
docs - SQL database design with Yesod and Persistent
- Unsafely inspecting monadic computations
- Zip-folding
Package of the week
This week’s package of the week is Movie Monad, a free and simple to use video player.
Call for participation
- eta: Put all the mem(cpy, cmp, set) utility functions in MemoryManager
- pretty-simple: Add pTraceOpt function in Debug.Pretty.Simple
- rio: Rewrite export statements for nicer Haddocks
- stack: Show resolver being used when
stack ghci
is invoked outside of a project directory
Events
- January 11: Haskell.SG: January meetup
- January 12: Austin types, theorems, and programming languages: Software foundations by Benjamin Pierce
- January 13: Madrid Haskell users group: Workshop on blockchain using Haskell and other technologies
- January 15: Karlsruhe Haskell study group: Testing with QuickCheck
- January 16: Functional first Phoenix: Monad implementation
- January 17: Berlin functional programming group: Workshop on functional programming in JavaScript with Sanctuary
- January 18: Utah Haskell: Meetup