Machine Learning-Driven JavaScript Bundling

In this article, I’ll introduce the early implementation of a few tools which based on techniques from the machine learning allow us to perform data-driven chunk clustering and pre-fetching for single-page applications. The purpose is to provide a zero-configuration mechanism whi … | Continue reading


@blog.mgechev.com | 6 years ago

Developing a Statically Typed Programming Language

In this blog post we’ll go through a sample implementation of a type checker, interpreter and a transpiler for a basic purely functional programming language, which is based on the lambda calculus. We will do a “full-stack” programming language development by going through formal … | Continue reading


@blog.mgechev.com | 6 years ago

Developing a Statically Typed Programming Language (2017)

In this blog post we’ll go through a sample implementation of a type checker, interpreter and a transpiler for a basic purely functional programming language, which is based on the lambda calculus. We will do a “full-stack” programming language development by going through formal … | Continue reading


@blog.mgechev.com | 6 years ago

Building TypeScript Like Google

In this blog post, we’ll make a brief introduction to what Bazel is and how we can build our TypeScript projects with it. If you’re already familiar with the problems that Bazel solves, feel free to skip to the section “Building TypeScript with Bazel.” You can find the example fr … | Continue reading


@blog.mgechev.com | 7 years ago

How Google's Build System Works

In this blog post, we’ll make a brief introduction to what Bazel is and how we can build our TypeScript projects with it. If you’re already familiar with the problems that Bazel solves, feel free to skip to the section “Building TypeScript with Bazel.” You can find the example fr … | Continue reading


@blog.mgechev.com | 7 years ago

Implementing a Simple Compiler on 25 Lines of JavaScript (2017)

I already wrote a couple of essays related to the development of programming languages that I was extremely excited about! For instance, in “Static Code Analysis of Angular 2 and TypeScript Projects“[1] I explored the basics of the front end of the compilers, explaining the phase … | Continue reading


@blog.mgechev.com | 7 years ago

Playing Mortal Kombat with TensorFlow.js

While experimenting with enhancements of the prediction model of Guess.js, I started looking at deep learning. I’ve focused mainly on recurrent neural networks (RNNs), specifically LSTM because of their “unreasonable effectiveness” in the domain of Guess.js. In the same time, I s … | Continue reading


@blog.mgechev.com | 7 years ago

Implementing a Simple Compiler on 25 Lines of JavaScript

I already wrote a couple of essays related to the development of programming languages that I was extremely excited about! For instance, in “Static Code Analysis of Angular 2 and TypeScript Projects“[1] I explored the basics of the front end of the compilers, explaining the phase … | Continue reading


@blog.mgechev.com | 8 years ago

Show HN: Fast, extensible, configurable, and beautiful linter for Go

About a year ago I decided to polish my Go skills. Although the language is pretty small compared to most others that I use on a daily basis, it still has some useful syntax constructs that I didn’t use enough. What a better way to brush up your skills in a programming language o … | Continue reading


@blog.mgechev.com | 8 years ago

Fast, extensible, configurable, and beautiful linter for Go

About a year ago I decided to polish my Go skills. Although the language is pretty small compared to most others that I use on a daily basis, it still has some useful syntax constructs that I didn’t use enough. What a better way to brush up your skills in a programming language o … | Continue reading


@blog.mgechev.com | 8 years ago

Guess.js,libraries and tools for enabling data-driven user-experience on the web

About two months ago I published my initial research[1] on data-driven bundling. A few weeks after that, I had the opportunity to present my work on RenderConf in Oxford, UK in my talk “Teach Your Bundler Users’ Habits”[2].The original goal of the article was to show how data can … | Continue reading


@blog.mgechev.com | 8 years ago