Issue 112 2018-06-21
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.
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.
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:
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.
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.
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.
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.
This week, we’ll establish our development cycle by looking at a very simple change we can make to the compiler.
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.
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
- hledger: same-date transactions in different files are shown in wrong order
- psc-package: Give warning on users attempting to prefix
- rhine: Generalise ScheduleT to a type class
- 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