Issue 159
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.
Featured
-
Functor-Of by Vladimir Ciobanu
Due to kind restrictions, the Haskell
Functor
cannot represent a lot of valid functors: functors of higher kinded types (higher than* -> *
), contravariant functors, invariant functors, etc. -
A Basis For Sequential Execution: Monads, Arrows, and More by Tyler
On the first day, there was light. On the second day, there was silicon. And on the third day, there was assembly.
-
Functional architecture is Ports and Adapters by Mark Seemann
Functional architecture tends to fall into a pit of success that looks a lot like Ports and Adapters.
-
Handling GHC parser errors right by Shayne Fletcher
Did you know, a POk parse result from the GHC parser doesn’t necessarily mean the parse was OK? This blog explains what’s up with that.
-
Haskell Showroom: Switching between different AWS accounts by Deni Bertović
Continuing this series, in this post I will talk about how to effectively switch between different AWS accounts.
-
How I wrote a proof of concept in five hours and launched a first version in a week by Tom Sydney Kerckhove
I had an idea, made a proof of concept, and then built it out over a week. This is the story of how that happened.
-
Implicit Corecursive Queues by Donnacha Oisín Kidney
I was looking again at one of my implementations of breadth-first traversals and I was wondering if I could fuse away the intermediate list.
-
Integrated versus Manual Shrinking by Edsko de Vries
Even with integrated shrinking, you still have to think about shrinking. There is no free lunch. Also, important new Hedgehog release!
-
Lightweight, efficiently sampleable enumerations in Haskell by Brent Yorgey
For another project I’m working on, I needed a way to enumerate and randomly sample values from various potentially infinite collections.
-
Shake with Applicative Parallelism by Neil Mitchell
Shake now does that Applicative trick from Haxl.
Jobs
-
Galois is hiring for a variety of roles (ad)
Including but not limited to: Software Engineers/Researchers, Project Managers, Hardware Engineers, Red Team Lead, Software Integration Engineer.
We collaborate with organizations like NASA, DARPA, and AWS to explore blue sky ideas and turn them into usable technology. Some of the things we’ve worked on in the past: Formal methods, static analysis, cryptographic algorithms, abstract interpretation, type theory, formal verification, reinforcement learning, autonomous systems assurance, communication security, cyber-deception for network defense, DDoS defense, provable hardware security, and statistical anomaly detection for detecting advanced persistent threats. We think working here is awesome; see lifeatgalois.com.
Trying to hire a Haskell developer? You should advertise with us!
In brief
- A short note about functional linear maps
- Announce: stdio 0.2.0.0
- BornHack 2019: Call for Participation
- CoRecursive podcast: Refinement Types With Niki Vazou
- LispCast: What a monoid is and why monoids kick monads’ butt
- Practical Haskell: A Real World Guide to Programming
- Quicksort with Haskell!
Package of the week
This week’s package of the week is dhall-to-cabal, a tool that generates Cabal files from Dhall expressions.
Call for participation
- epub-tools: Switch from String to Text
- LambdaHack: Use splitmix for random numbers instead of the standard random
Events
North America
- 2019-05-16 in Raleigh, NC, USA by Raleigh Haskell Meetup: (hack . yack)
- 2019-05-16 in Las Vegas, NV, USA by Las Vegas Functional Programming User Group: Functional Programming Meetup
- 2019-05-16 in Boston, USA by Categorical Databases: Ryan Open Office Hours
- 2019-05-16 in Toronto, ON, Canada by Toronto Haskell Meetup: Haskell Meetup: From Beginner to Less Beginner
- 2019-05-18 in San Diego, CA, USA by San Diego Software Development Deep Dive: Diving deeper into software development discussions
- 2019-05-18 in Berkeley, CA by Code Self Study: Open Programming Session (Saturday Afternoon)
- 2019-05-18 in Harwich, USA by Cape Cod Functional Programming Meetup: Redux & Algebraic Data Types (ADTs)
- 2019-05-18 in Boston, MA, USA by Weekly Functional Programming Meetup: Hang out + short talk (Data types à la Carte by Jinxuan Zhu)
- 2019-05-18 in Bellevue, WA, USA by Seattle Area Haskell Users’ Group: General discussion
- 2019-05-19 in Des Moines, IA, USA by Des Moines Haskell Study Group: Week 1. Introduction. Lambda calculus. (Chapter 1)
- 2019-05-20 in Lehi, UT, USA by Utah Haskell: Utah Haskell Meetup | Book Club
- 2019-05-20 in Irvine, CA by Orange Combinator - Functional Programming In OC: Combinating - The Weekly Function
- 2019-05-21 in Brooklyn, NY, USA by New York Haskell Users Group: Parallel and Concurrent Haskell Reading Group
- 2019-05-21 in Minneapolis, USA by HaskellMN: HaskellMN Monthly Meetup
- 2019-05-21 in Carmel, USA by Indy FP: Einstein, Hats, and Propaganda: An Introduction to Distributed Systems
- 2019-05-22 in New York, NY, USA by New York Haskell Users Group: The Good, the Bad, and the Ugly: Haskell in Enterprise
Europe
- 2019-05-16 in Frankfurt, Germany by Frankfurt Haskell User Group: RIO eine neue Standard Library für industrielle Haskell Anwendungen
- 2019-05-16 in London EC2, United Kingdom by Skills Matter - X Matters Keynote Series - Developer Events: Keynote by George Adams on AdoptOpenJDK - And how it impacts you in 2019
- 2019-05-20 in Karlsruhe, Germany by Karlsruhe Haskell Meetup: Haskell Monday
- 2019-05-20 in London, United Kingdom by Skills Matter - X Matters Keynote Series - Developer Events: Skills Matter Open House May
- 2019-05-20 in London EC2, United Kingdom by Skills Matter - X Matters Keynote Series - Developer Events: Keynote by Noel Welsh on the Elements of Tagless Final Style
- 2019-05-20 in Zürich, Switzerland by HaskellerZ: Jonas Wälter - Functional Programming for Web and Mobile
- 2019-05-21 in Berlin, Germany by Berlin Haskell Users Group: Up to Your Elbows in GHC
- 2019-05-21 in Katowice, Poland by Functional Miners: Spotkanie 05.2019 (Functional Programming for Humans)
- 2019-05-21 in Lille, France by Lille FP: LilleFP15 : FP pure & applications multiplateformes avec Reason-React-Native
- 2019-05-21 in London EC2, United Kingdom by Skills Matter - X Matters Keynote Series - Developer Events: Keynote by Antony Marcano on 5 Mistakes Made in Agile Transformations
Oceania
- 2019-05-20 in Perth, Australia by Perth Functional Programmers: Cryptography in Haskell
- 2019-05-21 in Christchurch, New Zealand by Functional Christchurch: Functional Programming
- 2019-05-22 in Canberra, Australia by CanFP - The Canberra Functional Programming Group: CanFP Monthly meetup
South America
- 2019-05-16 in AAQ, Argentina by Buenos Aires Haskell Meetup: BAHM - Mayo 2019
Africa
- 2019-05-18 in Nairobi, Kenya by Nairobi JVM: CI/CD and Evolving a Stack from a Small Tight-knit Engineering Team