Newsletter
Issue 142 2019-01-17
Subscribe now! We'll never send you spam. You can also follow our feed. Read more issues in the archives.
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
-
Real World Halogen by Thomas Honeyman
This guide demonstrates how to build a real world single-page application in PureScript and its most popular framework, Halogen. It comes with over 2,000 lines of commented code so you can see exactly how the ideas presented here translate to idiomatic PureScript.
-
If you are in Eastern Europe, do not miss 5th annual f(by) conference on January 26 in Minsk. This year Haskell talks are given by Vitaly Bragilevskyi, Christoph Hegemann, Andrew Lelechenko. In addition the keynote by Venkat Subramaniam, and many other FP talks. Belarus is visa free for 87 countries. If you cannot make it to Belarus, submit your email to get videos, which are free.
-
A Binomial Urn by Donnacha Oisín Kidney
I’ve gotten huge mileage out of this fold and the general ideas about it, and today I’m going to show one more use of it.
-
Cursors, Part 3: The Nonempty List Cursor by Tom Sydney Kerckhove
If a list is guaranteed to not be empty, then we can take advantage of this invariant to make a cursor that looks at an element, instead of between two elements.
-
Dhall - Year in review (2018-2019) by Gabriella Gonzalez
The Dhall configuration language is now two years old and this post will review progress in 2018 and the future direction of the language in 2019.
-
Dynamic Graphs: A Haskell library for the dynamic connectivity problem by Jasper Van der Jeugt
Alex Lang and I recently “finished” a library for dealing with dynamic graphs. The library focuses on the dynamic connectivity problem in particular, although it can do some other things as well.
-
Fast file embedding with GHC! by Sylvain Henry
If like me you sometimes want to embed resources files into executable binaries generated by GHC, you may have already used file-embed package. The problem is: compile time and memory usage are awful for “big” files, where “big” = a few megabytes.
-
Haskell showroom: How to switch between multiple Kubernetes clusters and namespaces by Deni Bertović
This series of posts titled “Haskell Showroom” are my attempt at showcasing what Haskell can be used for. It’s an attempt to answer the question I get asked a lot: “What is Haskell a good fit for?”
-
Hindsight on Advent of Code 2018 by Dimitri Sabadie
This blog post sums up what I did with AoC#18, my thoughts about the puzzles and even a meta-discussion about programming challenges. I used Haskell for most challenges and switched to Rust for no specific reason. Just fun.
-
Teaching to read Haskell by Joachim Breitner
Instead of young students with fairly little computer scientist background who can spent quite a bit of time to learn to write Haskell, I am now addressing senior and very smart computer scientists with many other important things to do, who want to learn to read Haskell.
Jobs
-
Galois is looking for Software Engineers/Researchers and Project Managers! We collaborate with organizations like NASA, DARPA, and Amazon Web Services 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, binary analysis, cryptographic algorithms, domain specific languages, programming languages theory, abstract interpretation, type theory, formal verification and software correctness, reinforcement learning, autonomous systems assurance, communication security, cyber-deception for network defense, DDoS defense, provable hardware security, statistical anomaly detection for detecting advanced persistent threats. We think working here is awesome (see https://lifeatgalois.com).
-
We are looking for an experienced DevOps Engineer to join our team. As part of our DevOps team, you will work with geographically diverse experts and work closely with the Research and Development teams to ensure high-quality, stable environments for our customers.
-
Software Engineer at Oscoin in Berlin
At Monadic, the team behind oscoin, we’re hiring our first engineers. We’re looking for experienced candidates who are well versed in functional programming and distributed systems.
-
Haskell Platform Engineer at PieSync in Ghent
As Platform Engineer you are working on our platform, which powers a seamless, real-time 2-way sync solution. You will implement complex new features, improve the robustness and scalability of our platform and work on analysis and monitoring tools.
-
Haskell Programmer at Masterword in Houston
Masterword is seeking an experienced Haskell programmer to help maintain and develop several of our inhouse systems. The main focus is on developing a service layer that will control freeswitch based telephony and video communication platform.
-
Soostone is looking to hire for engineering positions in our Haskell development and operations team.
-
Compiler Engineer at Groq in Portland
Groq is creating the next generation AI chip. Our software team is looking for exceptional compiler experts to help us create the software on the chip.
In brief
- A Touch of Topological Quantum Computation in Haskell Pt. II: Automating Drudgery
- Announcing: Fae, a scalable functional smart contract system
- DerivingVia: How to Turn Hand-Written Instances into an Anti-Pattern
- Haskell I/O and XPath
- Haskell, Nix and Vim: Getting started
- JavaScript to Elm: Getting Haskell I/O
- LeanCheck v0.9.0: Enumerative property testing
- Lux — The perfect mix of Haskell and Clojure
- New Haskell.org Committee Member
- PureScript version 0.12.2
- The Fourth Type of Variance
- Tomland: Bidirectional TOML serialization
- Underscores and request parsing
- Why Haskell II: Sum Types
Packages of the week
- fused-effects-lens: Lens combinators for fused-effects
- graph-seq: An EDSL for logical search over arbitrary spaces
- Grids: Arbitrary dimension type-safe grids
- hedgehog-classes: Hedgehog will eat your typeclass bugs