Weekly Review - Week 39

This post is a summary of my activities related to coding and software in the past week. Its purpose is both to serve as a high-level personal log and as a potential source of interesting (or not so interesting) links. Entries are provided in no particular order with minimal comments...

Bringing the web up to speed with WebAssembly | the morning paper

: Another great read from TMP, this time about the low-level lingua franca of browser-based computations. Lead me to also read languagengine - Blog - Differentiating Functional Programs and the original specification: spec/pldi2017.pdf at master · WebAssembly/spec

To type or not to type: quantifying detectable bugs in JavaScript | the morning paper

: Can static typing helps in getting rid of bugs? This paper provides a resounding Yes! answer.

Parsing with Derivatives

: One thing that always amazes me is how seemingly unrelated concepts of mathematics have deep and useful practical applications to computing. This paper shows how to apply the notion of derivatives of a function to generate parsers for context-free grammars, following a technique pioneered by Brzozowski in Derivatives of Regular Expressions.

Totally Free

: I am deeply indebted to my co-worker Alex Babkin for pointing me at this paper that links in very interesting ways to a lot of work I have been doing in the past with Free monads and Effects. I have translated the Agda code to Haskell and this helped me see the similarities between the General type McBride introduces and the various constructions for Free monads, notably exposed by Ed Kmett in a series of blog post.

If I'd Known What We Were Starting | Ray Dillinger | Pulse | LinkedIn

: "ICOs are a scam" says one of the original inventor and developer of Bitcoin. Interesting insights into the chaotic history of the "blockchain"...

Why Dependent Types Matter

: An already old but nevertheless interesting paper advocating for the use of dependent types in mainstream programming languages. My first exposure to the Epigram programming language on which Edwin Brady worked before developing Idris.

confluentinc/ducktape: System integration and performance tests

: A framework for testing microservices and distributed systems