2017-11

Getting started with ReasonML

[2017-11-30] dev, reasonml

In this blog post, I give tips for getting started with the programming language ReasonML.

What is ReasonML?

[2017-11-29] dev, reasonml

This blog post gives a brief high-level explanation of Facebook’s new programming language, ReasonML.

Currying is not idiomatic in JavaScript

[2017-11-10] dev, javascript

In this blog post I explain why, in my opinion, currying is in conflict with some of JavaScript’s foundations.

ES proposal: import.meta – module metadata

[2017-11-05] dev, javascript, esnext, es proposal, jsmodules

The proposal “import.meta” by Domenic Denicola is currently at stage 3. This blog post explains how it works.

Tracing method calls via Proxies

[2017-11-01] dev, javascript, js proxies

In this blog post, I explain how you can trace method calls via ECMAScript Proxies. The techniques I show are relevant whenever you want to intercept and forward method calls via Proxies.

2017-09

Using ES modules natively in Node.js

[2017-09-12] dev, javascript, esnext, jsmodules, nodejs

Starting with version 8.5.0, Node.js supports ES modules natively, behind a command line option. Most of the credit for this new functionality goes to Bradley Farias.

This blog post explains the details.

2017-08

Easing the pain of building in JavaScript

[2017-08-26] dev, javascript, esnext, jstools

In principle, JavaScript is a very dynamic and interactive programming language. However, that has changed significantly in recent years. Now, modern web development requires extensive build and compilation steps. That is unfortunate for two reasons. First, it makes development less pleasant. Second, it makes web development harder to learn. This blog post covers ideas and tools for easing some of the pain of building.

Tips for typing import statements in JavaScript

[2017-08-23] dev, javascript, esnext, jsmodules, vscode

This blog post gives tips for typing import statements more quickly, including a helpful text snippet for Visual Studio Code.

Beyond typeof and instanceof: simplifying dynamic type checks

[2017-08-18] dev, javascript, esnext, es proposal, typedjs

This blog post describes a technique for making instanceof applicable to more values (on the right-hand side). Specifically, for primitive values.

ES2019: optional catch binding

[2017-08-13] dev, javascript, es2019, error handling

The proposal “Optional catch binding” by Michael Ficarra is at stage 4 and therefore part of ECMAScript 2019. This blog post explains how it works.