← All posts

Category

TypeScript

6 posts

Comparison between Recoverable errors (typed domain errors: Effect.fail, UserNotFound, ValidationFailed, Forbidden, which belong in the signature) and Defects (out-of-type: Effect.die, DbConnectionLost, NetworkPartition, propagated as a global exception, translated into an HTTP 500).

Errors as values: typed errors vs defects

Not every error belongs in your types. How to separate recoverable domain errors from technical [...]

Type-Driven Development: the TDD no one talks about

Branded types, illegal states unrepresentable, parse don't validate: how to get the most out of the [...]

Better type-safety in TypeScript with Branded Types

Structural vs nominal type systems in TypeScript, and how Branded Types bring type-level uniqueness [...]

Generic, type parameter, type argument: real semantics

Restoring the true definition of a generic in TypeScript: a generic type takes type parameters [...]

A blue TypeScript cube and a yellow JavaScript cube sitting side by side on a platform, symbolizing the choice between static typing and a dynamic language.

TypeScript or a prayer before deploy? A case for static typing

Why dropping TypeScript for untyped JavaScript is a step backward: feedback, fearless refactoring [...]

Why Effect? An open-source introduction to the library

Why Effect in TypeScript: making errors and dependencies explicit, testing, resilience [...]