Issue 131 2018-11-01
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.
We are excited to announce the 2018 state of Haskell survey together with Haskell.org! This is the second annual survey. It will be open from November 1st through the 15th. If you’re reading this, we want to hear from you! Please take a few minutes to fill out the survey. Thanks!
Writing a screencast video editor in Haskell by Oskar Wickström
For the last six months I’ve been working on a screencast video editor called Komposition. This is an experience report that’ll give an overview of Komposition’s design, implementation, testing, and planned future work.
God’s programming language: An interview with Philip Wadler by Adam Gordon Bell
Wadler believes that typed lambda calculus was discovered not invented — part of the underpinnings of the universe itself.
Wise Man’s Haskell by Andre Popovitch
I wrote this book because all the other good Haskell tutorials either cost money or were too verbose. Hopefully, this will be better than ones that came before it, too.
Creating a card game in Haskell: Part 4 by Valentin Robert
This raises an annoying problem for our
Movedata type: there are now moves that can happen in different phases. It would be convenient to have these all live in the same data type, but it’s annoying to handle the moves that don’t make sense for a given phase.
Intro to Template Haskell by Type Classes
Rather than write a big overview of Template Haskell, I’m starting from a narrow use case: Making constant expressions evaluate during compilation.
Introduction to state machine testing: Part 1 by Andrew McMiddlin
Yes, each function must work as expected, but the system formed through composition of these functions must also be tested to ensure that our system does the right thing.
Cursors, part 1: Introduction with the list cursor by Tom Sydney Kerckhove
This is the first post in a series about cursors. It explores the motivation behind cursors and uses the list cursor as an example.
Major releases of
fltkhsby Aditya Siram
Hopefully these releases help you make Haskell native GUI apps that are fast, portable, easy to install/deploy, and nice looking!
Generics for GADTs and arbitrary kinds by Alejandro Serrano
We have just published a first version of
kind-generics, an extension of the GHC data type generic techniques which supports GADTs and describing types with kinds different from
* -> *.
Announcing Variant and EADT 2.0 by Sylvain Henry
A short post to announce that I have just released version 2.0.1 of my
haskus-utils-variantpackage (containing Variant and EADT).
CollegeVine is looking for a product-focused full-stack developer to help engineer the future of guidance, mentorship, and higher education attainment.
I’m looking for a freelance technical writer for Arrow! Our documentation website is around 66% complete, and we could use some help filling in the rest.
- Core Libraries Committee: Call for nominations
- Elm 2: Making a todo list
- Monthly Hask Anything: November 2018
- The Maybe applicative functor
Package of the week
This week’s package of the week is
a fast, flexible, fused effect system.
Call for participation
- dhall-haskell: Dhall.Core.Project should store an ordered set of field projections
- pact: Implement JSON read functions for all primitive datatypes
- termonad: Built-in background opacity control
- 2018-11-01 in Durham, NC, USA by Durham Haskell Meetup: Morning Haskell (and Rust!) coding session
- 2018-11-01 in Raleigh, NC, USA by Raleigh Haskell Meetup: (hack . yack)
- 2018-11-01 in Las Vegas, NV, USA by Las Vegas Functional Programming User Group: Functional Programming Meetup
- 2018-11-03 in Chilliwack, BC, Canada by ChilliHask Haskell User Group: Weekly Haskell Coding Meetup
- 2018-11-03 in Boston, MA, USA by Weekly Functional Programming Meetup: Hang out, chat FP, work on some code
- 2018-11-05 in Irvine, CA by Orange Combinator - Functional Programming In OC: Combinating - The Weekly Function
- 2018-11-05 in Boston, MA, USA by Boston Haskell: SPLASH and An Intro to the Unison Language
- 2018-11-06 in Vancouver, BC, Canada by Vancouver Functional Programmers: Haskell Lunch Study Group • Fall ’18 Cohort
- 2018-11-06 in Madison, WI, USA by Haskallywags: Coq Workshop!
- 2018-11-06 in Boston, MA, USA by Weekly Functional Programming Meetup: Hang out, chat FP, work on some code with SPLASH attendees
- 2018-11-07 in Seattle, WA, USA by Seattle Area Haskell Users’ Group: Haskell Learners’ Group
- 2018-11-07 in Austin, TX, USA by Austin Haskell Users Group: Haskell Beginner-Friendly Lab
- 2018-11-08 in Calgary, AB, Canada by Functional Programmers YYC: Unconf (YYC.FP)
- 2018-11-08 in Bellevue, WA by Fun(c)tional Programming Group: Functional programming discussion
- 2018-11-08 in Gdańsk, Poland by Functional Tricity: Haskell&Rust! Functional Tricity #14
- 2018-11-01 in Berlin, Germany by Berlin Haskell Users Group: Adrian Sieber: Introduction to PureScript. Plus a primer on Data Kinds.
- 2018-11-05 in Karlsruhe, Germany by Karlsruhe Haskell Meetup: Haskell Monday
- 2018-11-05 in Exeter, United Kingdom by Exeter Functional Programmers: Talk functional
- 2018-11-06 in Regensburg, Germany by Regensburg Haskell Meetup: Early November Meetup
- 2018-11-06 in Eindhoven, Netherlands by Eindhoven Haskell Meetup: Tagless-final and lightweight formal methods for developing a cryptocurrency
- 2018-11-07 in Budapest, Hungary by Budapest Haskell User Group: Haskell Book reading group (24th Ed.)
- 2018-11-07 in Sophia-Antipolis, France by Lambda Riviera: Onyx: Distributed computing for the cloud with Clojure; & Haskell shell scripts
- 2018-11-07 in Berlin, Germany by Friendly Functional Programming Meetup Berlin: Friendly Functional Programming - A look at Haskell
- 2018-11-08 in Graz, Austria by Functional Programming Graz: Functional Programming Meetup