Category: fp

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.

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.

Intro to fp-ts, part 4: Tasks as an alternative to Promises

In the fourth post of the series “Intro to fp-ts” I explain the concept of a task — a lawful lazy alternative to a ECMAScript Promise.

Intro to fp-ts, part 3: Option and Either

In the third post of the series “Intro to fp-ts” I’ll demonstrate two widely-used functional concepts — Option and Either, and show how they substitute nullables and exceptions.

Intro to fp-ts, part 2: Type Class Pattern

In the second post of the series “Intro to fp-ts” I’ll explain “type class” pattern, and show how to apply it for ad-hoc polymorphism.

Intro to fp-ts, part 1: Higher-Kinded Types

In the first post of the series “Intro to fp-ts” I’ll take a look at the concept of higher-kinded types, and how to implement them in TypeScript using lightweight higher-kinded polymorphism.

#MonadicMonday compilation: July

In 2019 I started an activity in Twitter called #monadicmonday – each Monday I posted a thread about some FP stuff which is useful and is easy to start using right away. This is a final compilation of the last month, July.

#MonadicMonday compilation: June

In 2019 I started an activity in Twitter called #monadicmonday – each Monday I posted a thread about some FP stuff which is useful and is easy to start using right away. This is a compilation of the third month, June.

#MonadicMonday compilation: May

In 2019 I started an activity in Twitter called #monadicmonday – each Monday I posted a thread about some FP stuff which is useful and is easy to start using right away. This is a compilation of the second month, May.

#MonadicMonday compilation: April

In 2019 I started an activity in Twitter called #monadicmonday – each Monday I posted a thread about some FP stuff which is useful and is easy to start using right away. This is a compilation of the first month, April.

Circuit Breaker in a Functional World

In this article I would like to talk a bit about one of the most commonly used patterns in enterprise architecture — Circuit Breaker — and its implementation using purely functional approach.

Typesafe Frontend Development

In this article I’ll give a quick overview of some of the most useful functional programming concepts for front-end development.

Category: typescript

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.

Intro to fp-ts, part 4: Tasks as an alternative to Promises

In the fourth post of the series “Intro to fp-ts” I explain the concept of a task — a lawful lazy alternative to a ECMAScript Promise.

Intro to fp-ts, part 3: Option and Either

In the third post of the series “Intro to fp-ts” I’ll demonstrate two widely-used functional concepts — Option and Either, and show how they substitute nullables and exceptions.

Intro to fp-ts, part 2: Type Class Pattern

In the second post of the series “Intro to fp-ts” I’ll explain “type class” pattern, and show how to apply it for ad-hoc polymorphism.

Intro to fp-ts, part 1: Higher-Kinded Types

In the first post of the series “Intro to fp-ts” I’ll take a look at the concept of higher-kinded types, and how to implement them in TypeScript using lightweight higher-kinded polymorphism.

#MonadicMonday compilation: July

In 2019 I started an activity in Twitter called #monadicmonday – each Monday I posted a thread about some FP stuff which is useful and is easy to start using right away. This is a final compilation of the last month, July.

#MonadicMonday compilation: June

In 2019 I started an activity in Twitter called #monadicmonday – each Monday I posted a thread about some FP stuff which is useful and is easy to start using right away. This is a compilation of the third month, June.

#MonadicMonday compilation: May

In 2019 I started an activity in Twitter called #monadicmonday – each Monday I posted a thread about some FP stuff which is useful and is easy to start using right away. This is a compilation of the second month, May.

#MonadicMonday compilation: April

In 2019 I started an activity in Twitter called #monadicmonday – each Monday I posted a thread about some FP stuff which is useful and is easy to start using right away. This is a compilation of the first month, April.

Circuit Breaker in a Functional World

In this article I would like to talk a bit about one of the most commonly used patterns in enterprise architecture — Circuit Breaker — and its implementation using purely functional approach.

Typesafe Frontend Development

In this article I’ll give a quick overview of some of the most useful functional programming concepts for front-end development.

Category: typelevel

Typesafe Frontend Development

In this article I’ll give a quick overview of some of the most useful functional programming concepts for front-end development.

Category: circuit breaker

Circuit Breaker in a Functional World

In this article I would like to talk a bit about one of the most commonly used patterns in enterprise architecture — Circuit Breaker — and its implementation using purely functional approach.

Category: architecture

Circuit Breaker in a Functional World

In this article I would like to talk a bit about one of the most commonly used patterns in enterprise architecture — Circuit Breaker — and its implementation using purely functional approach.

Category: monadic monday

#MonadicMonday compilation: July

In 2019 I started an activity in Twitter called #monadicmonday – each Monday I posted a thread about some FP stuff which is useful and is easy to start using right away. This is a final compilation of the last month, July.

#MonadicMonday compilation: June

In 2019 I started an activity in Twitter called #monadicmonday – each Monday I posted a thread about some FP stuff which is useful and is easy to start using right away. This is a compilation of the third month, June.

#MonadicMonday compilation: May

In 2019 I started an activity in Twitter called #monadicmonday – each Monday I posted a thread about some FP stuff which is useful and is easy to start using right away. This is a compilation of the second month, May.

#MonadicMonday compilation: April

In 2019 I started an activity in Twitter called #monadicmonday – each Monday I posted a thread about some FP stuff which is useful and is easy to start using right away. This is a compilation of the first month, April.

Category: higher-kinded

Intro to fp-ts, part 1: Higher-Kinded Types

In the first post of the series “Intro to fp-ts” I’ll take a look at the concept of higher-kinded types, and how to implement them in TypeScript using lightweight higher-kinded polymorphism.

Category: typeclass

Intro to fp-ts, part 2: Type Class Pattern

In the second post of the series “Intro to fp-ts” I’ll explain “type class” pattern, and show how to apply it for ad-hoc polymorphism.

Category: nullable

Intro to fp-ts, part 3: Option and Either

In the third post of the series “Intro to fp-ts” I’ll demonstrate two widely-used functional concepts — Option and Either, and show how they substitute nullables and exceptions.

Category: exception

Intro to fp-ts, part 3: Option and Either

In the third post of the series “Intro to fp-ts” I’ll demonstrate two widely-used functional concepts — Option and Either, and show how they substitute nullables and exceptions.

Category: error handling

Intro to fp-ts, part 3: Option and Either

In the third post of the series “Intro to fp-ts” I’ll demonstrate two widely-used functional concepts — Option and Either, and show how they substitute nullables and exceptions.

Category: task

Intro to fp-ts, part 4: Tasks as an alternative to Promises

In the fourth post of the series “Intro to fp-ts” I explain the concept of a task — a lawful lazy alternative to a ECMAScript Promise.

Category: taskeither

Intro to fp-ts, part 4: Tasks as an alternative to Promises

In the fourth post of the series “Intro to fp-ts” I explain the concept of a task — a lawful lazy alternative to a ECMAScript Promise.

Category: promise

Intro to fp-ts, part 4: Tasks as an alternative to Promises

In the fourth post of the series “Intro to fp-ts” I explain the concept of a task — a lawful lazy alternative to a ECMAScript Promise.

Category: education

Comments as education

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

Category: ddd

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.

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.

Category: higher-kinded data

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.

Category: hkd

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.

Category: uuid

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.

Category: type-level

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.

Category: illegal states

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.