Issue 141
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
-
Purely Functional GTK+, Part 1: Hello World by Oskar Wickström
In the last episode we explored gi-gtk, a package providing Haskell bindings to the GTK+ library, and noted in the end that the programming style was imperative and object-oriented. In this episode, we’ll program in a more functional style using gi-gtk-declarative.
-
Advent of Schemes by Fintan Halpenny
On the lookout for the perfect opportunity to add some skill points to my recursion schemes knowledge I decided to tackle the Advent of Code challenges but force myself to use recursion schemes.
-
Consider the following data type:
data TrafficLight = R | Y | G
It’s straightforward enough to see that if I have a value of typeTrafficLight
, there’s only 3 (moral) possibilities. -
Parsing and generating ABIF files (DNA chromatograms) by Andre Van Der Merwe
Hyrax ABIF is a Haskell package, that I created at HyraxBio to test our bioinformatics software pipeline. In this post I’ll show how the package can be used as a standalone tool as well as looking at how the Haskell code works.
-
Post-Christmas Advent of Code In Haskell: Day 1 by Tobias Pflug
Now that Advent Of Code 2018 is over I decided to return to the challenges but instead of just solving them I will try to also explain how I am solving them in Haskell.
-
Typeable: A long journey to type-safe dynamic type representation (Part 1) by Toan Nguyen
Typeable is a module in base package. Maybe you already know, the Typeable class is used to create runtime type information for arbitrary types. This post gives you a short story about the innovation of Typeable along with GHC extensions.
-
Validating Form Data via Applicative Functors by Kostiantyn Rybnikov
I’ve had an interesting mini-journey while I was in search of a way to validate input data in Haskell recently, and ended up implementing one myself, and then got an interesting comment on reddit, which I will unwrap in this post.
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).
-
Senior Backend Engineer at Freckle in San Francisco
We’re an agile and lean small team of engineers, teachers and product people working on solving important problems in education. We hyper-focus on speed, communication and prioritizing what matters to our millions of users.
-
Senior Haskell Engineer at Hasura in Bangalore
Hasura.io is hiring senior Haskell developers. We build tools for developers to lessen the effort that goes into building backends for applications. One of our core products is graphql-engine which gives the developer a realtime GraphQL backend on a Postgres database.
-
PhD Student at University of Nottingham
I’m looking to recruit an excellent new PhD student to come and work with me in the Functional Programming Lab in Nottingham.
In brief
- Call for Participation: BOB 2019
- Ginger examples
- Hakyll + TikZ
- Hiding code blocks in literate programming blogs
- hypthon: Python language tools
- Onto syntax for exhaustive construction of a data type
- What library is the Haskell ecosystem missing?
- Why Haskell I: Simple Data Types!
Package of the week
This week’s package of the week is suavemente, an applicative functor capable of seamlessly talking to HTML elements.
Call for participation
Events
North America
- 2019-01-10 in Raleigh, NC, USA by Raleigh Haskell Meetup: (hack . yack)
- 2019-01-10 in Las Vegas, NV, USA by Las Vegas Functional Programming User Group: Functional Programming Meetup
- 2019-01-11 in Austin, TX, USA by Austin Types, Theorems, and Programming Languages: Going through Software Foundations by Benjamin Pierce et al
- 2019-01-12 in San Diego, CA, USA by San Diego Software Development Deep Dive: Diving deeper into software development discussions
- 2019-01-12 in Norcross, GA, USA by Norcross Haskathon: Norcross Haskathon
- 2019-01-12 in Berkeley, CA by Code Self Study: Open Programming Session (Saturday Afternoon)
- 2019-01-12 in Boston, MA, USA by Weekly Functional Programming Meetup: Hang out, chat FP, work on some code
- 2019-01-14 in Irvine, CA by Orange Combinator - Functional Programming In OC: Combinating - The Weekly Function
- 2019-01-14 in Pittsburgh, PA, USA by Pittsburgh Functional Programming Meetup: My experiences with Haskell QuickCheck
- 2019-01-15 in Chattanooga, TN, USA by Chattanooga Haskell Users Group (CHUG): Curry in a Hurry
- 2019-01-15 in Minneapolis, USA by HaskellMN: HaskellMN Monthly Meetup
- 2019-01-16 in Berkeley, CA by Code Self Study: Open Programming Session (Wednesday, Berkeley)
- 2019-01-16 in Vancouver, BC, Canada by Vancouver Functional Programmers: Haskell Lunch Study Group • Spring ’18 Cohort
- 2019-01-16 in Austin, TX, USA by Austin Haskell Users Group: Haskell Beginner-Friendly Lab
- 2019-01-16 in Houston, TX, USA by Houston Functional Programmers: Strongly Typed Pure Functional Programming in Scala
- 2019-01-16 in Bellevue, WA, USA by SeaLang: The Julia Programming Language
- 2019-01-17 in Calgary, AB, Canada by Functional Programmers YYC: Unconf (YYC.FP)
Europe
- 2019-01-10 in Graz, Austria by Functional Programming Graz: Functional Programming Meetup
- 2019-01-10 in 8500 Kortrijk, Belgium by Functional Kortrijk: FizzBuzz in Haskell by Embedding a Domain-Specific Language
- 2019-01-10 in London, United Kingdom by Hoodlums: Hoodlums Meetup
- 2019-01-10 in London EC2, United Kingdom by Skills Matter - X Matters Series - Developer Events: Data Matters with Louis Dorard
- 2019-01-14 in Karlsruhe, Germany by Karlsruhe Haskell Meetup: Haskell Monday
- 2019-01-15 in Montpellier, France by Functional Programming Montpellier: Haskell en prod et les structures fonctionnelles incontournables
- 2019-01-15 in London EC2, United Kingdom by Skills Matter - X Matters Series - Developer Events: Leadership Matters with Dylan Beattie
- 2019-01-16 in cluj-napoca, Romania by Cluj.fp: What are software properties?
- 2019-01-16 in Wroclaw, Poland by Functional Programming Wroclaw: fp-wroc #23 SqlFun: dostęp do danych w F#
- 2019-01-17 in Ljubljana, Slovenia by Ljubljana Lambdas: Ljubljana Lambdas January 2019
Asia
- 2019-01-13 in Bangalore, India by Bangalore Functional Programmers Meetup: Aeson and Aeson-lens
- 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
Africa
- 2019-01-14 in Sandton, South Africa by Lambda Luminaries: Lisp 99 in your favorite functional language