Issue 142
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 Gabriel 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
Call for participation
- bugsnag-haskell: Orphan instances
- dh-core: analyze: generate and check random test data
- pact: Make
mkContCmd
for testing Pact Continuations - purescript: UnknownName in types/kinds can have better positions now
Events
North America
- 2019-01-17 in Raleigh, NC, USA by Raleigh Haskell Meetup: (hack . yack)
- 2019-01-17 in Boston, USA by Categorical Databases: Ryan Open Office Hours
- 2019-01-17 in Calgary, AB, Canada by Functional Programmers YYC: Unconf (YYC.FP)
- 2019-01-19 in Berkeley, CA by Code Self Study: Open Programming Session (Saturday Afternoon)
- 2019-01-19 in Boston, MA, USA by Weekly Functional Programming Meetup: Hang out, chat FP, work on some code
- 2019-01-19 in Bellevue, WA, USA by Seattle Area Haskell Users’ Group: General discussion
- 2019-01-21 in Portland, OR, USA by Portland Functional Programming Study Group: PDX Func Practice Track - Parallel and Concurrent Programming in Haskell
- 2019-01-21 in Lehi, UT, USA by Utah Haskell: Utah Haskell Meetup | Book Club
- 2019-01-21 in Irvine, CA by Orange Combinator - Functional Programming In OC: Combinating - The Weekly Function
- 2019-01-22 in Chattanooga, TN, USA by Chattanooga Haskell Users Group (CHUG): Curry in a Hurry
- 2019-01-22 in Santa Monica, CA, USA by Santa Monica Haskell Users Group: Brief Intro to Recursion Schemes
- 2019-01-22 in Philadelphia, PA, USA by Philly Functional Programming: January Meetup
- 2019-01-23 in Berkeley, CA by East Bay Functional Programming Study Group: Open Programming Session (Wednesday)
- 2019-01-23 in Asheville, NC, USA by Asheville Coders League: Weekly Low-Pressure Social Get Together
- 2019-01-23 in Portland, OR, USA by Portland Functional Programming Study Group: PDX Func Theory Track - Logic and Proof
- 2019-01-24 in Las Vegas, NV, USA by Las Vegas Functional Programming User Group: Functional Programming Meetup
- 2019-01-24 in Philadelphia, PA, USA by Elm Philadelphia: First Philly Elm Meetup of 2019!
- 2019-01-24 in San Francisco, CA, USA by Bay Area Haskell Users Group: Haskell talks at Airbnb!
Europe
- 2019-01-22 in EC2A 3JL, United Kingdom by London Type-Driven Development: The Little Typer Study Group - Session 4
- 2019-01-22 in Bristol, United Kingdom by CodeHub Bristol: Hack Night
- 2019-01-23 in Bucharest, Romania by Bucharest FP: The Curry-Howard-Lambek Correspondence
- 2019-01-23 in Berlin, Germany by Berlin Haskell Users Group: Haskell Wednesday
- 2019-01-23 in Leeds, United Kingdom by Code & Coffee (Leeds): Code & Coffee
- 2019-01-23 in London EC2, United Kingdom by Skills Matter - X Matters Series - Developer Events: Ops Matters with Gareth Rushgrove
- 2019-01-24 in Karlsruhe, Germany by The Karlsruhe Functional Programmers Meetup Group: Stammtisch (gemeinsam mit der C++ UG KA)
Asia
- 2019-01-17 in Noida, India by Reactive Application Programmers in Delhi NCR: WEBINAR | Akka Fundamentals
- 2019-01-17 in Hong Kong, Hong Kong by Hong Kong Functional Programming: Fullstack Web Development in Rust
- 2019-01-20 in Bengaluru, India by Bangalore Functional Programmers Meetup: Generalized Algebraic Data Types
- 2019-01-21 in Tel Aviv, Israel by Tel Aviv-Yafo Haskell Meetup: Haskell meetup
- 2019-01-23 in Delhi, India by DelhiNCR Haskell And Functional Programming Languages Group: FPNCR Unscripted Online meetup
Oceania
- 2019-01-21 in Perth, Australia by Perth Functional Programmers: Haskell study group
- 2019-01-23 in Sydney, Australia by FP-Syd: FP-Syd meeting!