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.
GHC Infrastructure Update by Ben Gamari
Since November we have been quietly working behind the scenes to make this new infrastructure a reality; this has been a massive project and however I’m happy to say we are now emerging on the other side and we are very happy with the result.
Extending the Persistent QuasiQuoter by Matt Parsons
The QuasiQuoter does a ton of stuff for you. In this post, we’re going to learn how to make it work for you!
GHC, Alpine, Stack, and Docker by Joe Kachmar
This repository is a small demonstration of the steps required to build an Alpine Linux Docker image with all the tools necessary to compile Haskell programs linked against musl libc.
Haskell coreutils -
I’ve implemented a couple Unix core utilities in Haskell, and want to start a series of posts going through the details - starting with simple programs like
Hierarchies In a Hakyll Blog by Artem Chernyak
Hakyll didn’t support this out of the box, and I didn’t find examples of anyone using similar layouts. So, I created my own approach which I am now sharing.
How to use Foreign Function Interface with Stack: Part I by Samuel Barr
I had previously written this functionality in C for a school project. I had heard of Haskell’s function interface before, and figured this would be a good opportunity to learn it.
Idempotent Applicatives, Parametricity, and a Puzzle by Daniel Mlot
Some applicative functors are idempotent, in the sense that repeating an effect is the same as having it just once. An example and a counterexample are Maybe and IO, respectively.
Nanosmos: Writing a simple text-editor with brick by Tom Sydney Kerckhove
In this post we will write a simple purely functional text editor using brick, building on the previous single-line text editor: picosmos.
Parsing JSON with more context by Benjamin Esham
Sometimes a library wants you to produce a value of type
t, but you’d like to have a value of type
eavailable when you do that and the API doesn’t offer a way to inject an
ein the right place.
The Compose Newtype and its Applicative Instance by Florian Beeres
This post will give you a quick overview of the
Composedata type and then explain how the applicative instance for that type works.
- Building a Bigger World
dynamic: dynamically typed programming made easy
- Finding Success (and Failure) in Haskell
- Idiomatic monads in Rust
- Monthly Hask Anything (April 2019)
- Proving Addition is Commutative in Haskell using Singletons
salak: Configuration (re)loader in Haskell.
- You Don’t Need to Be Brilliant to Do Brilliant Work
Package of the week
This week’s package of the week is
slist, a package that implements the
Slist data structure which stores the size of the list along with the list itself.
Call for participation
- 2019-04-04 in Raleigh, NC, USA by Raleigh Haskell Meetup: (hack . yack)
- 2019-04-04 in Las Vegas, NV, USA by Las Vegas Functional Programming User Group: Functional Programming Meetup
- 2019-04-04 in Portland, OR, USA by Portland Functional Programming Study Group: PDX Func Theory Track - Logic and Proof
- 2019-04-06 in San Diego, CA, USA by San Diego Software Development Deep Dive: Diving deeper into software development discussions
- 2019-04-06 in Boston, MA, USA by Weekly Functional Programming Meetup: Hang out + short talk (Categories of Optics by Ammar Husain)
- 2019-04-06 in Berkeley, CA by Code Self Study: Open Programming Session (Saturday Afternoon)
- 2019-04-08 in Irvine, CA by Orange Combinator - Functional Programming In OC: Combinating - The Weekly Function
- 2019-04-08 in Pittsburgh, PA, USA by Pittsburgh Functional Programming Meetup: Language tour: Kotlin
- 2019-04-09 in San Diego, CA, USA by San Diego Clojurians: Inaugural meeting of the San Diego Clojure Meetup hosted by Functional Works
- 2019-04-09 in Vancouver, BC, Canada by Functional Programming Vancouver: Functional Programming Meetup
- 2019-04-09 in Denver, CO, USA by DenverFP: ReasonML: Hands-on Introduction (REPL Examples)
- 2019-04-10 in Berkeley, CA by Code Self Study: Open Programming Session (Wednesday, Berkeley)
- 2019-04-10 in Tucson, AZ, USA by Tucson Functional Programmers: Monthly Get Together
- 2019-04-10 in Toronto, ON, Canada by Toronto Haskell Meetup: Haskell Meetup: Reader and ReaderT Workshop
- 2019-04-10 in New York, NY, USA by New York Haskell Users Group: HAMTs From Scratch with Vaibhav Sagar
- 2019-04-11 in Calgary, AL, Canada by Functional Programmers YYC: Unconf (YYC.FP)
- 2019-04-04 in London, United Kingdom by Skills Matter - X Matters Keynote Series - Developer Events: Skills Matter - F# eXchange 2019
- 2019-04-05 in Warszawa, Poland by Monadic Warsaw: Monadic Warsaw #20 - Hackathon
- 2019-04-06 in Iași, Romania by Iasi Functional Programming: Functional Programming: A story about Cats, Types and Typeclasses
- 2019-04-07 in Göteborg, Sweden by Got.λ - Göteborg Functional Programming Group: Smart Testing with a functional approach (foss-north Community Day event)
- 2019-04-08 in București, Romania by Bucharest FP: Bucharest FP #48 — Haskell Book Study Group 09
- 2019-04-08 in Delft, Netherlands by Delft Haskell Study Group: Haskell Study Session #7
- 2019-04-09 in Newcastle Upon Tyne, United Kingdom by Functional Programming North East: Immutable Data, Lenses, and Pac-man
- 2019-04-09 in Bucharest, Romania by Bucharest FP: Bucharest FP #49 — Rust and Functional Programming in Practice
- 2019-04-10 in Prague, Czech Republic by Prague Lambda Meetup: Clojure Wednesday
- 2019-04-10 in Bristol, United Kingdom by Bristol Clojurians: Clojure Study Group
- 2019-04-11 in Köln, Germany by Scala User Group Köln Bonn: Pure FP: die letzte Meile
- 2019-04-11 in London, United Kingdom by Hoodlums: Hoodlums Meetup
- 2019-04-08 in Sandton, South Africa by Lambda Luminaries: Functional Mob Programming
- 2019-04-09 in Brisbane, Australia by Brisbane Functional Programming Group (BFPG): YOW Night - Functional Architecture with Jed Wesley-Smith
- 2019-04-10 in Santiago, Chile by Santiago Scala Meetup: Santiago Scala Meetup
- 2019-04-11 in Taipei, Taiwan by Functional Thursday: Functional Thursday #72 （遇連假，順延一週）