Issue 112
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.
Want to see something featured in Haskell Weekly? Open an issue or pull request on GitHub.
Featured
-
Transity: The future of plain text accounting
We found existing plain text accounting tools unsatisfactory, so we developed Transity. It models financial flows in terms of transactions and not debited / credited accounts.
-
In this post we delve further in that direction by considering linear types and uncover their potential to have the compiler enforce more properties statically.
-
Deprecating the Haskell markdown library
I ended up creating my own library called markdown (inventive name, I know). Today, I’m considering deprecating this library, for a number of reasons:
-
Fixing 17 space leaks in GHCi, and keeping them fixed
We recently noticed an interesting space leak in GHCi. If we loaded a set of modules, and then loaded the same set of modules again, GHCi would need twice as much memory as just loading the modules once.
-
Paperboy: A small PDF management utility
I was frustrated that most PDFs have pretty useless file names. This tool helps renaming those files without too much fuss.
-
This blog post is a semi-complete retelling of my debugging adventures on a particularly crazy bug. Consider it a combination of fun story telling for the audience and catharsis for myself.
-
Smart constructors that cannot fail
In type theory, a refinement type is a type endowed with a predicate which is assumed to hold for any element of the refined type.
-
We’d like to make sure the desugaring has been implemented correctly, perhaps by converting to some intermediate state where both the name and the correct de Bruijn index coexist peacefully.
-
Upcoming Stackage LTS 12 snapshot with GHC 8.4.3
We’d like to give everyone enough time to prepare, which is why the planned release date is two weeks from the date of this post.
-
Contributing to GHC 2: Basic hacking and organization
This week, we’ll establish our development cycle by looking at a very simple change we can make to the compiler.
Jobs
-
Software engineer at ITProTV in Gainesville, Florida
ITPro.TV is a fast-growing digital media business that focuses on continuing education in technical domains. We are currently accepting applications for full-stack software professionals to join our small but talented multidisciplinary team.
In brief
Package of the week
This week’s package of the week is Semilattices, a library that defines type classes for join- and meet-semilattices, and for upper and lower bounds, and a variety of instances for each.
Call for participation
- Carp: Implement
sort
in Carp - hledger: same-date transactions in different files are shown in wrong order
- psc-package: Give warning on users attempting to prefix
purescript-
- rhine: Generalise ScheduleT to a type class
Events
- June 21 in Regensburg, Germany: Introduction to Idris
- June 25 in Bristol, England: Hack night & Haskell study group
- June 26 in Madison, Wisconsin: How I’ve become more comfortable writing Haskell
- June 27 in Gainesville, Florida: Strong static types with Haskell
- June 28 in Melbourne, Australia: Melbourne Haskell users group meetup
- July 5 in Frankfurt, Germany: Dhall: The functional configuration language