Issue 128
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
-
An introduction to linear regression using Haskell
I decided to stray a little off the beaten track and implement the programming exercises from Andrew’s course in Haskell instead. Haskell feels well-suited for this problem.
-
I’ve been exploring the idea of an Elm compiler that produces assembly for the Erlang Virtual Machine. This essay documents some interesting parts of the project.
-
Fullstack Haskell: Reflex and Servant
If it were 2005 you may have been able to get away with just blaze. But we are in 2018+, and JavaScript is a problem. In this blog post we will explore how to deal with JavaScript trough reflex and GHCJS.
-
RAII is better than the bracket pattern
The RAII (Resource Acquisition Is Initialization) approach in both C++ and Rust leads to a nicer solution than even our bracket pattern in Haskell, by (mostly) avoiding the possibility of a premature close.
-
Announce: Haskell code explorer: Tool that helps understand Haskell codebases
Haskell code explorer is a web application for exploring and understanding Haskell codebases. It provides the following features: Types and documentation on hover, go to definition, find references, type of each expression & semantic highlighting.
-
Comprehending monoids with class
For expressing queries over collections of data, monoid comprehension can be more flexible, simpler, more efficient, and safer than its monadic counterpart.
-
Counting inversions with monoidal sparks
Time for me to reveal the example I had in mind that led to the generalization in my previous post. Thanks for all the interesting comments: it seems like there are some interesting connections to be explored.
-
Detailed walkthrough for a beginner Haskell program
This post walks through the development of a small Haskell program for aligning equals symbols in a block of text. This walkthrough targets a beginning programmer by describing several steps and concepts in extra detail.
-
Making a Haskell interface for the Rosie pattern language
The Rosie Pattern Language (RPL) is a DSL for parsing strings which is more convenient and easier to work with than regular expressions. RPL is a Lua library with a C Foreign Function Interface (FFI). I noticed that there wasn’t a way to call it from Haskell.
-
Writing a simple web application
I’ve talked about adding metrics to the Haskell application. I decided to prepare a full example that can be looked at and reused in later posts and projects.
Jobs
-
Fullstack Developers at CitizenNet in Los Angeles
CitizenNet is hiring PureScript engineers! Come work at the leading social advertising platform in entertainment, now a key part of Condè Nast’s Spire data team managing one of the world’s largest content networks. Contribute to open source, build polished interfaces in PureScript, and work with talented & friendly teammates in Los Angeles.
In brief
- 2018 Haskell survey results
Control.Dsl
: An alternative to monads- Deeper Stack knowledge
- Full deck
ghci-hexcalc
: GHCi as a hex calculator- Haskell Communities and Activities Report, November 2018 edition: Call for contributions
- Penrose: Create beautiful mathematical diagrams
- Requesting feedback on OpenADT package
- What is new in cross compiling Haskell: August & September edition
- Wrapping up Haskell Book
Package of the week
This week’s package of the week is Autoexporter, a tool for automatically writing modules that simply re-export other modules.
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!
- Allure: Mark hero and crosshair with cursor in console frontends
- purebred: Replace System.Process with System.Process.Typed
Events
North America
- 2018-10-11 in Durham, NC, USA by Durham Haskell Meetup: Morning Haskell (and Rust!) coding session
- 2018-10-11 in Raleigh, NC, USA by Raleigh Haskell Meetup: (hack . yack)
- 2018-10-12 in Austin, TX, USA by Austin Types, Theorems, and Programming Languages: Going through Software Foundations by Benjamin Pierce et al
- 2018-10-13 in Chilliwack, BC, Canada by ChilliHask Haskell User Group: Weekly Haskell Coding Meetup
- 2018-10-13 in Norcross, GA, USA by Norcross Haskathon: Norcross Haskathon
- 2018-10-13 in Boston, MA, USA by Weekly Functional Programming Meetup: Hang out, chat FP, work on some code
- 2018-10-15 in Irvine, CA by Orange Combinator - Functional Programming In OC: Combinating - The Weekly Function
- 2018-10-15 in Tulsa, OK, USA by Tulsa Lambda Lunch: Let’s Learn PureScript Together! (Chapter 3)
- 2018-10-15 in Lehi, UT, USA by Utah Haskell: Utah Haskell Meetup | Book Club
- 2018-10-15 in Portland, OR, USA by Portland Functional Programming Study Group: PDX Func Practice Track - Parallel and Concurrent Programming in Haskell
- 2018-10-16 in Vancouver, BC, Canada by Vancouver Functional Programmers: Haskell Lunch Study Group • Fall ’18 Cohort (new group)
- 2018-10-16 in Minneapolis, USA by HaskellMN: HaskellMN Monthly Meetup
- 2018-10-16 in Santa Monica, CA, USA by Santa Monica Haskell Users Group: Haskell Study Group: Monoids
- 2018-10-16 in Carmel, USA by Indy FP: Using Types to Make (many) Bugs Impossible
- 2018-10-16 in St. Louis, MO, USA by STL Women Who Code: Full-Stack ML: Building Web Applications With Haskell and Elm
- 2018-10-17 in Austin, TX, USA by Austin Haskell Users Group: Haskell Beginner-Friendly Lab
- 2018-10-17 in Houston, TX, USA by Houston Functional Programmers: Extending F# through Computation Expressions
- 2018-10-18 in Las Vegas, NV, USA by Las Vegas Functional Programming User Group: Functional Programming Meetup
Europe
- 2018-10-11 in Stavanger, Norway by Functional escape from the imperative world: Haskell Exchange 2018 London
- 2018-10-11 in Amsterdam, Netherlands by FP AMS: Haskell Exchange conference (1 ticket raffle!)
- 2018-10-16 in Bristol, United Kingdom by CodeHub Bristol: Hack Night + Haskell Study Group
- 2018-10-16 in cluj-napoca, Romania by Cluj.fp: Property based testing introduction workshop
- 2018-10-17 in Berlin, Germany by Berlin Haskell Users Group: Haskell Wednesday
- 2018-10-17 in Amsterdam, Netherlands by FP AMS: CT study group: Free Monoids
- 2018-10-17 in Stuttgart, Germany by Lambda Stuttgart: Lambda Stuttgart Meetup #9 (Introduction to Elm)
- 2018-10-24 in Göteborg, Sweden by Got.λ - Göteborg Functional Programming Group: Functional thinking: two refactoring exercises in Purescript and Haskell
Asia
- 2018-10-14 in Bangalore, India by Bangalore Functional Programmers Meetup: Reader & State in Haskell
- 2018-10-15 in Perth, Australia by Perth Functional Programmers: Haskell study group