Issue 145
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
-
Curry-Howard Correspondence Example by Vladimir Ciobanu
This post will show how a simple proof works in Logic, Type Theory, and Category Theory: given
A ∧ (B ∧ C)
, prove(A ∧ B) ∧ C
. -
Announcing
ghc-lib
by Neil MitchellOn behalf of Digital Asset I’m delighted to announce
ghc-lib
, a repackaging of the GHC API to allow it to be used on different GHC versions. The GHC API allows you use the GHC compiler as a library, so you can parse, analyze and compile Haskell code. -
Categories with Monadic Effects and State Machines by Marcin Szamotulski
In this posts we will present categories which can run monadic actions, which we call categories with monadic effects (abr.
EffCategories
). It turns out that one can build them in an abstract way, much the same way as free monads, and use them to specify state machines in a succinct and type-safe manner. -
CodeWorld Update — February, 2019 by Chris Smith
I’ve been quiet on social media lately, but it’s been an active time for the CodeWorld project. Here’s a brief summary of some of the things happening in the last few months.
-
Comparing nub implementations by Andreas Klebinger
This post was inspired by this medium blog post and the following discussion on reddit. There was a lot of discussion about big O performance. But zero numbers, which was sad so here we go.
-
Haskell Weekly in 2018 by Taylor Fausak
At the end of each year I reflect on how things went. Here’s a look at Haskell Weekly in 2018, including popular links, the state of Haskell survey, and subscriber statistics.
-
Having your cake and eating it by Tim Spence
At Permutive, we’re committed to functional programming. That typically means also committing to immutable data structures (a very good thing!), but there are times when an algorithm would run much faster or be more space efficient if it could update state in-place.
-
Implementing Nested Quotations by Matthew Pickering
The purpose of this post is to explain how to implemented nested quotations. From our previous example, quoting a term
e
, gives us a term which representse
. It follows that we should be allowed to nest quotations so that quoting a quotation gives us a representation of that quotation. -
Implementing Union in Esqueleto I by Matt Parsons
We use the SQL
UNION
operator at IOHK in one of ourbeam
queries, andesqueleto
does not support it. To make porting the IOHK SQL code more straightforward, I decided to implement UNION. This blog post series will delve into implementing this feature, in a somewhat stream-of-thought manner. -
Proxy arguments in class methods: a comparative analysis by Ryan Scott
I’ve often wondered if there is one design to rule them all, so I wrote up this blog post in an attempt to better understand the pros and cons of each approach. Will we discover which design is unambiguously the best one by the end?
Jobs
In brief
- Alternative
newtype
wrappers foroset
- Asterius: A Haskell to WebAssembly compiler
- Coupons for Finding Success
- Expanded-Scope Calculus of Constructions
- Haskell bindings for the StarCraft II API
- Monthly Hask Anything (February 2019)
- Open Sourcing Haskell Bazaar
- Paramorphisms fusion for algebraic graphs
- Struggling With My Drinker’s Problem
- Why Haskell V: Type Families
Package of the week
This week’s package of the week is libtelnet, a wrapper around libtelnet, a C library for handling Telnet streams.
Call for participation
- purebred: tests: Timing sensitive issue with ‘manage tags on mails’ test
- servant: Lenient combinator infers to “Either String”
- stack: Redirecting output of
--exec
command
Events
North America
- 2019-02-07 in Raleigh, NC, USA by Raleigh Haskell Meetup: (hack . yack)
- 2019-02-07 in Charlotte, NC, USA by Queen City Lambda: Functional Programming in F# - beyond an intro
- 2019-02-08 in Austin, TX, USA by Austin Types, Theorems, and Programming Languages: Going through Software Foundations by Benjamin Pierce et al
- 2019-02-09 in Norcross, GA, USA by Atlambda Haskathon: Atlambda Haskathon
- 2019-02-09 in San Diego, CA, USA by San Diego Software Development Deep Dive: Diving deeper into software development discussions
- 2019-02-09 in Boston, MA, USA by Weekly Functional Programming Meetup: Hang out, chat FP, work on some code
- 2019-02-09 in Berkeley, CA by Code Self Study: Open Programming Session (Saturday Afternoon)
- 2019-02-11 in Irvine, CA by Orange Combinator - Functional Programming In OC: Combinating - The Weekly Function
- 2019-02-11 in Pittsburgh, PA, USA by Pittsburgh Functional Programming Meetup: The Omega Language
- 2019-02-11 in Suite 1305, IL, USA by Chicago Haskell: Intro to Haskell for JS hackers
- 2019-02-12 in Vancouver, BC, Canada by Functional Programming Vancouver: Functional Programming Vancouver - sharing, learning and using FP in daily life!
- 2019-02-12 in Kraków, AL, USA by typed.space: Introduction to lenses in Haskell
- 2019-02-13 in Portland, OR, USA by Portland Functional Programming Study Group: PDX Func Theory Track - Logic and Proof
- 2019-02-13 in Toronto, ON, Canada by Toronto Haskell Meetup: Haskell Meetup: Lightning Talks and Hack Night
Europe
- 2019-02-07 in Graz, Austria by Functional Programming Graz: Functional Programming Meetup
- 2019-02-07 in Madrid, Spain by Madrid Haskell Users Group: Lentes para meros mortales
- 2019-02-07 in Düsseldorf, Germany by Clojure Düsseldorf: Clojure: Erste Schritte
- 2019-02-09 in Berlin, Germany by Study Haskell: Weekly Haskell-studying session
- 2019-02-11 in Brno-střed, Czech Republic by Functional Programming Brno: Scala Exchange report & FP and Math talk
- 2019-02-13 in Karlsruhe, Germany by The Karlsruhe Functional Programmers Meetup Group: Advanced Futures and Promises in C++ (Vortrag von Tamino Dauth)
- 2019-02-13 in Sofia, Bulgaria by Lambda Dojo Sofia: Lambda Dojo February - Functional Coding
- 2019-02-13 in Prague, Czech Republic by Prague Lambda Meetup: Clojure Wednesday
- 2019-02-13 in Budapest, Hungary by Budapest Haskell User Group: Haskell Book reading group (26th Ed.)
- 2019-02-13 in cluj-napoca, Romania by Cluj.fp: Cofree Comonads
- 2019-02-26 in Copenhagen, Denmark by Mødegruppe for F#unktionelle Københavnere: “Property-Based Testing The Ugly Parts” by Oskar Wickström
South America
- 2019-02-07 in Buenos Aires, Argentina by Buenos Aires Haskell Meetup: Evaluando JavaScript con Haskell
Africa
- 2019-02-11 in Sandton, South Africa by Lambda Luminaries: Compiling assembly to Lisp (that sounds backwards)