Issue 380 2023-08-10
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.
- Anti-Instances in Haskell by Heneli Kailahi
Typeclass instances are a powerful tool for specifying which overloaded operations are allowed on which types. But what about specifying which operations are disallowed on which types?
- Community Survey: Removing cabal’s nix integration by Hécate Moonlight
The Cabal team would like to ask our users if anyone would object to the Nix Integration 19 being removed (following a reasonable deprecation cycle).
- falsify: Internal Shrinking Reimagined for Haskell (pdf) by Edsko de Vries
Randomly generated inputs tend to be large and should therefore be minimised. Traditionally this is done with an explicitly provided shrinker, but in this paper we propose a way to write generators that obsoletes the need to write a separate shrinker.
The GHC team would like input on module/package naming for the planned restructuring of the libraries shipped with GHC. Please take a look at the proposal and let us know what you think!
- GHC 9.4.6 is now available by Ben Gamari
The GHC developers are happy to announce the availability of GHC 9.4.6.
- Reducing Haskell parallel build times using semaphores by Well-Typed
This blog post explains a new feature for GHC & Cabal, which allows multiple simultaneously running GHC processes to coordinate their use of compute resources.
- Speeding up tree-sitter-haskell 50x by Owen Shepherd
This article is about profiling and picking the low-hanging fruit of tree-sitter-haskell (warning: C(++)).
- Systems Haskell Engineer at SimpleX Chat (ad)
SimpleX Chat is a fully open-source, private and secure messaging platform. It is the first, and it seems the only, messaging network that does not have any kind of user identity in its design (not even random numbers) - it uses anonymous pairwise identifiers instead.
Trying to hire a Haskell developer? You should advertise with us!
- CLC Update (August 2023) by Dmitrii Kovanikov
As part of my Core Libraries Committee (CLC) involvement, I committed to writing monthly CLC updates.
- Effective Haskell is out of beta, and now available in print by Rebecca Skinner
Put the power of Haskell to work in your programs, learning from an engineer who uses Haskell daily to get practical work done efficiently.
- FreeCHR: An Algebraic Framework for CHR-Embeddings by Sascha Rechenberger, Thom Frühwirth
We introduce the framework FreeCHR, which formalizes the embedding of Constraint Handling Rules (CHR) into a host-language.
Haskell Foundation July 2023 Update by David Christiansen
Haskell Foundation DevOps Weekly Log, 2023-08-09 by Bryan Richter
The last few days have been spent on emergent issues.
- IOG GHC Update #15 by IOG
Triweekly update from the GHC DevX team at IOG.
Show & tell
- Announcing Saturn, a Haskell library for handling cron schedules by Taylor Fausak
I’m happy to announce Saturn, a small Haskell library for handling POSIX cron schedules.
- cfg - A new simple configuration library by Jonathan Lorimer
cfg is a library that provides Generic machinery for generating configuration accessors, and parsers from Haskell types.
- mig - a new lightweight library to build composable web servers by Anton Kholomiov
I’m happy to announce the release of a new library for web-servers. It offers simple and concise functions to build servers from small parts.
Check out this Haskell Competitive Programming Template I’ve created for solving competitive programming challenges (e.g. CodeForces).
- Yampa 0.14.4 by Ivan Perez
I’m very happy to announce the release of Yampa 0.14.4 and yampa-test 0.14.4.
Call for participation
The ACM SIGPLAN Workshop on Functional Software Architecture - FP in the Large aims to disseminate and enable the use of functional programming in the large and long-lived software projects.
The ACM SIGPLAN International Workshop on Functional Art, Music, Modelling and Design (FARM) gathers together people who are harnessing functional techniques in the pursuit of creativity and expression.