Issue 152 2019-03-28
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.
Implementing the 73rd alternate Prelude seems to have become a favorite pastime of many Haskellers right after they finished writing their Monad tutorial as the traditional rite of passage. However, I’d like to explore the opposite side of the spectrum: Why not try being minimalist? I mean, it’s the least we can do!
GSoC 2019 Student Applications now open by Jasper Van der Jeugt
We’d like to remind you that Google has opened student applications for Google Summer of Code 2019.
Comonadic builders by Dmitrii Kovanikov
Turns out, you actually can use comonads to solve production problems from the real world.
Flag, a tagged Bool by Oleg Grenrus
This posts complements two other recent blogs: Code smell: Boolean blindness by Thomas Tuegel and Ceci n’est pas un default by Guillaume Allais.
Higher-rank types in Standard Haskell by Li-yao Xia
I got to think about this puzzle: how to write higher-rank polymorphic functions, without using
RankNTypesor any other language extension?
This post is the first case study in the series, covering the timeline flattening process in Komposition and how it’s tested using PBT.
Recursion Schemes: the high-school introduction by Christophe Calvès
All you need, to see what recursion schemes are and why there are useful, can be presented with just a single basic function, often taught as an introduction to programming: factorial.
Return a Function to Avoid Effects by Matt Parsons
To help write robust, reliable, and easy-to-test software, I always recommend purifying your code of effects. There are a bunch of tricks and techniques to accomplish this sort of thing, and I’m going to share one of my favorites.
Structuring your first Haskell project with Stack by Saksham Sharma
If you read such blogs, you would have been told that
ghciis your best friend. This article will attempt to change that.
Study into exact real arithmetic Pt. 2 by Henri Tuhola
For now it’s sufficient to understand that the library can compute exactly something such as
sin(1.4*π) + log(5).
If you are looking to hire a Haskell developer, you should advertise with us!
- A new scheduler library
- A terminal UI for Discourse using Brick
- Newtype in base to hang generic-deriving instances off of for DerivingVia
- winery: fast, compact and sustainable serialisation library
- Writing a lambda calculus type-checker in Haskell
Package of the week
This week’s package of the week is scheduler, a work stealing scheduler, which is very useful for tasks parallelization.
Call for participation
- spago: Parse error when
packages.dhalldoesn’t follow the template format
- stack: Enable copying test binaries to a canonical location
- 2019-03-28 in Raleigh, NC, USA by Raleigh Haskell Meetup: (hack . yack)
- 2019-03-28 in Chicago, IL, USA by The Project Euler Sprint: Project Euler Sprint
- 2019-03-30 in Boston, MA, USA by Weekly Functional Programming Meetup: Hang out + short talk (title not yet announced)
- 2019-03-30 in Berkeley, CA by Code Self Study: Open Programming Session (Saturday Afternoon)
- 2019-04-01 in Irvine, CA by Orange Combinator - Functional Programming In OC: Combinating - The Weekly Function
- 2019-04-01 in Portland, OR, USA by Portland Functional Programming Study Group: PDX Func Practice Track - Parallel and Concurrent Programming in Haskell
- 2019-04-01 in SAINT LOUIS, MO, USA by STL Elm: Elm Code Night
- 2019-04-02 in Santa Monica, CA, USA by Santa Monica Haskell Users Group: Haskell Hack Night
- 2019-04-02 in Madison, WI, USA by Haskallywags: Tackling Workflows
- 2019-04-02 in Westlake, OH, USA by λ cleveland -> func: Hack Night
- 2019-04-03 in Asheville, NC, USA by Asheville Coders League: Weekly Low-Pressure Social Get Together
- 2019-04-03 in Washington, DC, USA by The Joy of Programming Meetup: Next Round (TBD)
- 2019-04-03 in Bellevue, WA, USA by SeaLang: Seven Languages in Seven Weeks!
- 2019-03-28 in Karlsruhe, Germany by The Karlsruhe Functional Programmers Meetup Group: Stammtisch (gemeinsam mit der C++ UG KA)
- 2019-03-28 in Zürich, Switzerland by HaskellerZ: Niklas Hambüchen - hatrace: A syscall tracing library in Haskell
- 2019-03-29 in Oslo, Norway by Pils og Programmering Oslo: Pils og Programmering #29 @ Bekk
- 2019-04-01 in Karlsruhe, Germany by Karlsruhe Haskell Meetup: Parallel and Concurrent Programming Study Group
- 2019-04-01 in Exeter, United Kingdom by Exeter Functional Programmers: Talk functional
- 2019-04-01 in București, Romania by Bucharest FP: Bucharest FP #47 — Haskell Book Study Group 08
- 2019-04-01 in Delft, Netherlands by Delft Haskell Study Group: Haskell Study Session #6
- 2019-04-01 in Amsterdam, Netherlands by FP AMS: New category theory study group
- 2019-04-02 in Erlangen, Germany by Lambda Lounge - Functional Programming Nürnberg: On Data and Classes
- 2019-04-02 in Bristol, United Kingdom by CodeHub Bristol: Hack Night
- 2019-04-03 in Berlin, Germany by Berlin Haskell Users Group: Haskell Wednesday
- 2019-04-03 in London, United Kingdom by Skills Matter - X Matters Keynote Series - Developer Events: Richard Warburton & Sadiq Jaffer: Continuous Profiling in Production
- 2019-03-29 in Noida, India by Reactive Application Programmers in Delhi NCR: MEET-UP | Fearless Concurrency in RUST
- 2019-03-30 in Delhi, India by DelhiNCR Haskell And Functional Programming Languages Group: FPNCR Unscripted Online meetup
- 2019-04-03 in Singapore, Singapore by HASKELL.SG: April Singapore Haskell Meetup
- 2019-03-29 in Singapore, Singapore by NUS Hackers: Friday Hacks #172: Haskell, and lightning talks
- 2019-03-28 in Melbourne, Australia by Melbourne Haskell Users Group: Melbourne Haskell Users Group Meetup
- 2019-04-01 in Richmond, Australia by Elm Melbourne: Elm Meetup – conversation and hacking on personal projects