Issue 116
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
-
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.
-
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.
-
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.
-
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
andconduit
. -
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
- CodeWorld update
- Finishing the first course
- FPSheet: A spreadsheet program with Haskell as the scripting language
- GHC 8.6.1-alpha1 available
- GHC proposal: Binding type variables in lambda-expressions
- Haskell ain’t maths
- Introducing the Pact property checker
- Request for nominations to the GHC steering committee
- Series spotlight: Liftoff series!
- What makes Haskell unique, part 1
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
- codec-beam: Re-visit codegen from Erlang compiler files
- curl-runnings: curl-runnings should be able to update itself
- hledger: newlines in CSV data aren’t handled right
- nirum: TOML reading should be independent from locale settings
Events
- July 19 in Seattle, Washington: Category theory for programmers, part 3
- July 21 in Bangalore, India: Hasura GraphQL engine
- July 22 in Tokyo, Japan: Monthly meetup
- July 23 in Manhattan, New York: July (un)meetup
- July 24 in Amsterdam, Netherlands: Category theory study group
- July 25 in London, England: Update monads
- July 26 in Zürich, Switzerland: Alex Silva: A tour of dependent types with Idris
- August 1 in Dublin, Ireland: Self-paced Haskell study group with special talk