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.
Runar explains how choosing the least powerful abstraction leads to better composition. He also explains his strategy for learning nonconcrete concepts like category theory and discusses his haskell inspired programming language that is rethinking how programming languages are represented.
A small use case for Deriving Via by Sam Tay
I am going to show a small but pratical scenario for which DerivingVia, a language extension introduced in GHC 8.6, is a natural solution.
Fractals and Monads — Part 3 by Derek Wise
Today I’ll explain a simple method to draw lots of fractal pictures with minimal code, using the idea of Kleisli powers I introduced in the previous part.
GHC Rebuild Times - Shake profiling by Neil Mitchell
Shake has had profiling for years, but in the recently-released Shake 0.17.7 I’ve overhauled it. The profile report is generated as a web page, and the generated output in the new version is smaller, loads faster and is more intuitive.
Hakyll Pt. 5 — Generating Custom Post Filenames From a Title Slug by Robert Pearce
Out of the box, hakyll takes filenames and dates and outputs nice routes for your webpages, but what if you want your routes to be based off of a metadata field like
Sum Types In SQL by Matt Parsons
Most SQL databases support simple enumerations easily, but they lack the ability to talk about real sum types with fields. We can encode sum types in SQL in a few different ways, each of which has upsides and downsides.
Tagless Final Encoding in Haskell by Juan Pablo Royo
In this post i am going to explore a simple technique for organizing our programs which is called Tagless Final Encoding to write testable programs in Haskell.
Visible dependent quantification in Haskell by Ryan Scott
forall k ->is a visible, dependent quantifier. What exactly do those words mean? What does this let you do that you couldn’t before? Does this have any relationship with the fabled “Dependent Haskell” we’ve heard so many rumors about?
Write yourself a lens by Veronika Romashkina
Recently I have been working on implementing basic lens ideas in the
reludecustom prelude library. The process was very valuable for me and I feel that now I understand lens concepts better when I encountered their internals.
Writing a lambda calculus evaluator in Haskell by Boro Sitnikovski
This post is more focused on building the lambda calculus from scratch. It provides an interesting overview of some design decisions particularly for the lambda calculus.
A London-based, cutting edge software company in the FinTech space are looking for a senior software engineer with commercial functional programming experience (Haskell preferred). The company are building complex, scalable software with the aim of disrupting and automating a heavily regulated industry in London.
- Capability is about free monads. It’s a bird… It’s a plane… It’s a free monad!
- DARPA and Galois are Building a $10 Million, Open Source, Secure Voting System
- Extending Haskell’s Syntax!
- Featured functions
- Higher-order type-level programming in Haskell
- Simon Peyton Jones chosen to lead National Centre for Computing Education
- The 5 Ts of Industrial Haskell
- Trees that Melt: Use of AVL Tree in Blockchains
- When Shouldn’t I Use Haskell?
Package of the week
This week’s package of the week is WAI Lambda, a library that turns any WAI webapp into a handler for AWS Lambda and API Gateway requests.
Call for participation
- cardano-ledger: ProtocolParameterUpdate should be named ProtocolParametersUpdate
- duckling: Support intervals for Numeral and Ordinal
- 2019-03-21 in Raleigh, NC, USA by Raleigh Haskell Meetup: (hack . yack)
- 2019-03-21 in Las Vegas, NV, USA by Las Vegas Functional Programming User Group: Functional Programming Meetup
- 2019-03-21 in Cambridge, MA, USA by Categorical Databases: Adjunctions in Haskell
- 2019-03-22 in Austin, TX, USA by Austin Types, Theorems, and Programming Languages: Going through Software Foundations by Benjamin Pierce et al
- 2019-03-23 in Boston, MA, USA by Weekly Functional Programming Meetup: Hang out + short talk (by Josh Mitchell)
- 2019-03-25 in Irvine, CA by Orange Combinator - Functional Programming In OC: Combinating - The Weekly Function
- 2019-03-26 in Brooklyn, NY, USA by New York Haskell Users Group: Parallel and Concurrent Haskell Reading Group
- 2019-03-27 in Vancouver, BC, Canada by Vancouver Functional Programmers: Haskell Lunch Study Group • Spring ’18 Cohort
- 2019-03-27 in Portland, OR, USA by Portland Functional Programming Study Group: PDX Func Theory Track - Logic and Proof
- 2019-03-27 in Toronto, ON, Canada by Toronto Haskell Meetup: Haskell Meetup: Lightning Talks and Hack Night 2
- 2019-03-27 in Chicago, IL, USA by Chicago Haskell: Futures in Haskell and Rust
- 2019-03-28 in Raleigh, NC, USA by Raleigh Haskell Meetup: (hack . yack)
- 2019-03-21 in London, United Kingdom by Skills Matter - X Matters Keynote Series - Developer Events: Skills Matter - iOSCon 2019
- 2019-03-25 in Karlsruhe, Germany by Karlsruhe Haskell Meetup: Haskell Monday
- 2019-03-25 in București, Romania by Bucharest FP: Bucharest FP #46 — Haskell Book Study Group 07
- 2019-03-25 in London, United Kingdom by Skills Matter - X Matters Keynote Series - Developer Events: Skills Matter Open House March
- 2019-03-25 in London EC2, United Kingdom by Skills Matter - X Matters Keynote Series - Developer Events: Diversity Matters with Jamie Knight and Mike Southgate
- 2019-03-25 in München, Germany by Munich Lambda: March Meetup - Live music with Haskell
- 2019-03-26 in Copenhagen, Denmark by Mødegruppe for F#unktionelle Københavnere: Joint Meetup with Greater Copenhagen NixOS User Group (First Nix Hack Night)
- 2019-03-26 in Regensburg, Germany by Regensburg Haskell Meetup: Late March meetup
- 2019-03-26 in Zagreb, Croatia by Lambda Zagreb Meetup: ¬ sve za ∀ (no ∃ uvod u propozicije kao tipove)
- 2019-03-26 in Lille, France by Lille FP: LilleFP 13 : du Rust pour remplacer C++ et du typage statique à gogo
- 2019-03-27 in Leipzig, Germany by Funktionaler Stammtisch Leipzig: “Funktionaler Stammtisch” Clojure, Elm, Haskell, Scala and Co…
- 2019-03-27 in Sophia-Antipolis, France by Lambda Riviera: Lambda Riviera
- 2019-03-27 in cluj-napoca, Romania by Cluj.fp: Introduction to Optics
- 2019-03-27 in London. EC1V 4PB, United Kingdom by London Haskell: Numeric Haskell Now
- 2019-03-28 in Melbourne, Australia by Melbourne Haskell Users Group: Melbourne Haskell Users Group Meetup
- 2019-03-28 in Zürich, Switzerland by HaskellerZ: Niklas Hambüchen - hatrace: A syscall tracing library in Haskell
- 2019-03-21 in Kota Jakarta Pusat, Indonesia by Lambda Indonesia: Sharing Ilmu Bersama Ariya Hidayat dan Tito Pandu
- 2019-03-27 in Quito, Ecuador by Quito Lambda: Conociendo Scala