Haskell Weekly

Newsletter

Issue 116 2018-07-19

Subscribe now! We'll never send you spam. You can also follow our feed. Read more issues in the archives.

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

  • A year into Backpack

    While I’ve been at Facebook Backpack hasn’t been sleeping; in fact, there’s been plenty of activity, more than I could have ever hoped for. I wanted to summarize some of the goings on in this blog post.

  • Compose Tetris

    So let’s talk composition. As programmers we see composition constantly. It’s there even if you’re not aware. If we have two functions f and g and we apply them one after the other, we’re doing function composition.

  • Functor, Applicative and why

    This blog post will explain two core concepts in Haskell — Functor and Applicative, which also exist in many other functional languages. Functor and Applicative are great abstractions that allow us to reuse lots of code.

  • named-0.2 released, with support for optional parameters

    This package was earlier discussed on Reddit. There were three common criticisms: no optional parameters, no infix notation in types, too easy to mix up order of patterns. I addressed all three in this new release. Let me know if anything else can be improved!

  • Our use of the Haskell and Elm programming languages

    Over the last year, our team has built a beautiful and advanced Smart Cities system using functional languages. I wrote this document to explain our technology choices to stakeholders and partners.

  • Streaming benchmarks

    This package compares streamly, a blazing fast streaming library providing native high level, declarative and composable concurrency support, with popular streaming libraries e.g. vector, streaming, pipes and conduit.

  • Type isomorphism

    Type isomorphisms provide wrapping/unwrapping functions that can safely convert between these types. Type isomorphisms also help us understand various transformations used in equational reasoning and API design.

  • Why is servant a type-level DSL?

    This post is an attempt at explaining Servant’s design as an embedded domain specific language, and particularly why it had to be a type-level domain specific language, given our requirements.

Jobs

  • Lead data scientist as Target in Sunnyvale

    Target is looking for engineers and data scientists to work on supply chain optimization. This includes designing mathematical models, writing simulations, and engineering systems that operate on a national scale. You should apply if you are interested in some combination of functional programming, mathematical modeling and data science.

  • Senior Haskell developer at GetShop.TV in Moscow

    GetShop.TV is an interactive television platform that connects viewers with advertisers and content providers on both live TV and video-on-demand services. We are seeking a senior Haskell developer to help us build a stable, automated, typesafe service at scale.

  • Software test engineer at HERE Technologies

    We are currently looking for (senior) software test engineer for our over-the-Air division to support delivery of our products on high quality standards. Our unit works together with the car industry to bring the latest software updates and security fixes to vehicles in the field, using a peer-reviewed security framework to ensure the integral delivery of authorized updates.

In brief

Package of the week

This week’s package of the week is Streamly, a library for beautiful streaming, concurrent and reactive composition.

Call for participation