Yuriy Bogomolov

Yuriy Bogomolov's personal blog

Hello, and welcome to my personal blog! I am a programmer passionate about functional programming, type theory and category theory.

I blog about functional programming in TypeScript, perform mentoring of developers who would like to study practical FP, and provide consultancy and architecture review for enterprises.

All Posts

With Simplicity Comes Clarity

I decided that I want to write not only about programming, but also about other things that deeply interest me — like education, knowledge management, or leadership methods. In this short essay, I describe my journey in knowledge management and what system I use in my daily work.

Functional Programming Jargon, Part 1

Functional programming is infamously known for its cryptic math-like jargon: terms like monads, monoids, functors and isomorphisms seem to be very intimidating for inexperienced developers. But if we take a look at those concepts as programming patterns, everything becomes much clearer. In the first part of the series, I will take a closer look at the most common terms from FP jargon.

Making Illegal States Unrepresentable

In this article I present “making illegal states unrepresentable” approach to modelling business domains in TypeScript. The article is based on the talk I gave at ZED Conference, and covers topics like opaque types, type-level programming, Tagless Final and indexed monads.

Compile-time validation of UUIDs

In this post I show how to use TypeScript literal string template types to get a compile-time UUID validation.

Higher-Kinded Data in TypeScript

Higher-kinded data is an approach of making data types kind-polymorphic, which supercharges their usage scenarios! In this article I show how to encode HKD in TypeScript, and what benefits it brings to the table.

Comments as education

A little note about comments in code as a tool for education.