Issue 130
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
-
Haskell community priorities for GHC
We want to ask your advice about what our key priorities should be in developing GHC. Please help us by completing this very short, but open-ended, survey.
-
Typed Functional Programming and Software Correctness
In this post I’ll explain why functional programming and static type systems are important for software correctness.
-
Category Theory for Programmers by Bartosz Milewski is now available in hardcover!
It’s been a wild ride! I’m happy to announce that after many bug fixes and tweaks, the book is now available to purchase on a print-on-demand service in full color print.
-
Algebraic data types in four languages
In this blog post, I’m going to compare how the concept of “sum” algebraic data types is supported by four languages I use, namely: Haskell, Scala, Rust, and TypeScript.
-
Announcing Profiterole: GHC profile viewer
Profiterole reads standard GHC
.prof
files and generates both textual and HTML reports which are typically more than 10x smaller. -
While I was writing up last week’s long article about Traversable, I wrote this stuff about Applicative also. This is a disorganized collection of loosely-related paragraphs on that topic.
-
Introduction to singletons: Part 4
Hi again! Welcome back; let’s jump right into the fourth and final part of our journey through the singleton design pattern and the great singletons library.
-
REST-ish services in Haskell: Part 1
A general tour through a bunch of patterns/strategies I use when developing robust-ish REST-ish web services with Haskell.
-
TChan
vsTQueue
: What’s the difference?I always forget the difference between a
TChan
and aTQueue
. They appear to have an almost identical API, so whenever I need a concurrent message thing, I spend some time working out what the difference is. -
Your easy guide to functional reactive programming
Managing state. It’s the bane of programmers everywhere. The more stateful widgets there are, the harder it is to keep your app from becoming a giant mud pit. But fear not! You can use functional reactive programming (FRP) in your quest to manage state.
Jobs
-
Galois is growing and hiring Technical Project Leads, Software Engineers/Researchers, and Principal Scientists for all three of our locations (Portland, OR/Arlington, VA/Dayton, OH). Galwegians apply cutting edge computer science and mathematics to advance the state of the art in software and hardware trustworthiness. Engineers work in small team settings and must successfully interact with clients, partners, and other employees in a highly cooperative and intellectually challenging environment. Creativity thrives in a work environment that respects employees’ quality-of-life.
In brief
- Any Haskell or programming related podcasts you recommend?
- Applicative combinations of functions
- Benchmarking Formality vs GHC and Node!
- Elm: Functional frontend
- Introducing the Rust crash course
- Linear types proposal conditionally accepted by the committee
- Running from the past
- Type Classes: Restructuring
- What your favorite weird/exotic data type?
- What’s the Difference? video and slides
Package of the week
This week’s package of the week is Toodles,
an application for managing TODO
entries in your code.
It scrapes your entire repository for TODO
entries and organizes them so you can manage your project directly from the code.
Call for participation
Looking to participate in the fifth annual Hacktoberfest? Check out some of these issues with the “Hacktoberfest” label from Haskell repositories on GitHub!
- HaskGames: The name picker view should display an error when the name is taken
- hledger: hledger-ui –watch does not notice changes saved by IDEA on mac
Events
North America
- 2018-10-25 in Raleigh, NC, USA by Raleigh Haskell Meetup: (hack . yack)
- 2018-10-25 in Philadelphia, PA, USA by Elm Philadelphia: 🎃A Nightmare on Elm Meetup 🎃
- 2018-10-25 in Cambridge, MA, USA by Categorical Databases: Intro to Categorical Databases
- 2018-10-25 in Chicago, IL, USA by The Project Euler Sprint: Project Euler Sprint
- 2018-10-26 in Austin, TX, USA by Austin Types, Theorems, and Programming Languages: Going through Software Foundations by Benjamin Pierce et al
- 2018-10-27 in Chilliwack, BC, Canada by ChilliHask Haskell User Group: Weekly Haskell Coding Meetup
- 2018-10-27 in Boston, MA, USA by Weekly Functional Programming Meetup: Hang out, chat FP, work on some code
- 2018-10-27 in Berkeley, CA by Code Self Study: Open Programming Session (Saturday Afternoon)
- 2018-10-29 in Irvine, CA by Orange Combinator - Functional Programming In OC: Combinating - The Weekly Function
- 2018-10-29 in Charlottesville, VA, USA by Charlottesville Haskell Book Reading Group: Chapters 22 & 23 - Reader and State
- 2018-10-29 in San Francisco, CA, USA by Coda Protocol: Coda Protocol - Open Source Launch Party
- 2018-10-30 in Vancouver, BC, Canada by Vancouver Functional Programmers: Haskell Lunch Study Group • Fall ’18 Cohort
- 2018-10-30 in Gainesville, FL, USA by Gainesville functional programming: Hacktoberfest!
- 2018-10-30 in Ann Arbor, MI, USA by Ann Arbor Functional Programming User Group: A2FP – October Meetup
- 2018-10-31 in Berkeley, CA by Code Self Study: Open Programming Session (Wednesday, Berkeley)
- 2018-11-01 in Raleigh, NC, USA by Raleigh Haskell Meetup: (hack . yack)
Europe
- 2018-10-25 in Lausanne, Switzerland by Formal Methods and Verified software meetup: Dependent types in Scala
- 2018-10-25 in Zürich, Switzerland by HaskellerZ: Roman Kashitsyn - Embracing the Failure
- 2018-10-25 in Belgrade, Serbia by Elixir |> Belgrade: Simplifying systems with Elixir
- 2018-10-29 in Karlsruhe, Germany by Karlsruhe Haskell Meetup: Haskell Monday
- 2018-10-29 in Kraków, Poland by typed.space: Funkcyjnie Produkcyjnie
- 2018-10-30 in Bristol, United Kingdom by CodeHub Bristol: Hack Night + Haskell Study Group
- 2018-10-30 in cluj-napoca, Romania by Cluj.fp: How to Stay Up When Everything Fails. Leveraging the Power of Erlang and Elixir
- 2018-10-30 in Copenhagen, Denmark by Mødegruppe for F#unktionelle Københavnere: [fredefox] Univalent Categories: A formalization of cat. theory in Cubical Agda
- 2018-10-31 in London, United Kingdom by London Haskell: AutoBench: Comparing the Time Performance of Haskell Programs
- 2018-11-01 in Berlin, Germany by Berlin Haskell Users Group: Adrian Sieber: Introduction to PureScript
Asia
- 2018-10-28 in Bangalore, India by Bangalore Functional Programmers Meetup: Monad Transformers in Haskell
- 2018-10-30 in Hong Kong, China by Hong Kong Functional Programming: Workshop: Exploring sound with Clojure and Overtone
- 2018-11-01 in Gurugram, India by DelhiNCR Haskell And Functional Programming Languages Group: FPNCR Monthly meetup
- 2018-11-01 in Singapore, Singapore by HASKELL.SG: November Singapore Haskell Meetup
South America
- 2018-10-30 in Bogotá, Colombia by Bogotá Lambda: Cálculo Lambda con Javascript & Haskell Fuera de la Academia
- 2018-10-31 in Quito, Ecuador by Quito Lambda: Charlas relámpago de desafíos y soluciones