Issue 228 2020-09-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.
Cerveau: a future-proof web app for notes by Sridhar Ratnakumar
Cerveau is a full-stack Haskell web app written using Reflex and Obelisk (GHCJS) in the frontend. This blog post describes the tech stack used.
Here are four reasons that PureScript is the best way to build a server in 2020. I’ll tl;dr them here, but you should stick around for the bonus reason at the end as well!
Be a goalkeeper by Dmitrii Kovanikov
You may find this blog post useful, if you are interested in maintaining any project for a long time and keep your sanity during this process.
The book “Functional Design and Architecture” is finished! by Alexander Granin
The main idea of this book is to provide a comprehensive source of knowledge, a complete methodology of building real world applications in Haskell.
Dependent types to code are what static types to data by Evgeny Poberezkin
In the same way the static type systems ensure data validity by construction and prevent writing code that expects or creates invalid data, dependent types can ensure code validity on the code flow, logic and state transitions level.
Ergonomic Haskell 1 - Records by Cody Goodman
We have heard of Boring Haskell, Simple Haskell, and Fancy Haskell… but let’s ignore all of those and focus more on us. Why not make Haskell feel nicer to use?
Let’s write a Haskell Language Server plugin by Pepe Iborra
In this article we are going to cover the creation of an HLS plugin from scratch: a code lens to display explicit import lists.
Traversals as Optimisations by Huw Campbell
In this post, we’ll look at how we can apply high level optimisations in Core to significantly reduce our amount of code and remove redundant code branches.
MuniHac is a Haskell hackathon in the tradition of other Haskell Hackathons such as the ZuriHac, HacBerlin, UHac and many others.
Working with Hasura to improve GHC tooling by Well-Typed
We’re glad to announce that we will be working with Hasura on improvements to GHC tooling over the coming months.
Trying to hire a Haskell developer? You should advertise with us!
Haskell - Enforcing Naming Convention with Parsec by Ken Aguilar
I chose parser combinators because it’s my go-to method for parsing, and I personally think they’re convenient.
Monoids (and semigroups) by Sam A. Horvath-Hunt
Semigroups and monoids are mathematical structures that capture a very common programmatic operation, the reduction of multiple elements into one.
The Simplest MonadFail Instance by Kazuki Okamoto
It is not happy that
Maybediscards the failure messages. So should we use
Eitheris not actually a
This is a very literal example and only the absolute tip of the iceberg in terms of what fascinating ground can be covered with this approach to composing/performance.
What killed Haskell, could kill Rust, too by Alexander Granin
Haskell ruled in a whole bunch of interesting ways and yet it died. What killed it?
Show & tell
cabal-auto-expose by Aditya Siram
cabal-auto-expose is a build time library which, like hpack, auto detects new and removed Haskell modules and Backpack signatures in your project’s sources and exposes them for you so you don’t have to manually keep your
.cabalfile in sync.
haskell-language-server version 0.4.0 by Alan Zimmerman
0.4.0 introduces the import lens plugin, which can convert your import statements into qualified imports, or into an explicit import list.
kmonad version 0.4.0 by David Janssen
Welcome to KMonad, The Onion of Keyboard Management. Now on Windows, Linux and Mac!
SBV version 8.8 by Levent Erkök
SMT Based Verification in Haskell