Skip to content

Instantly share code, notes, and snippets.

View nicky-lenaers's full-sized avatar
👋
Hi!

Nicky Lenaers nicky-lenaers

👋
Hi!
  • TMC
  • The Netherlands
View GitHub Profile
@hediet
hediet / main.md
Last active March 11, 2024 15:05
Proof that TypeScript's Type System is Turing Complete
type StringBool = "true"|"false";


interface AnyNumber { prev?: any, isZero: StringBool };
interface PositiveNumber { prev: any, isZero: "false" };

type IsZero<TNumber extends AnyNumber> = TNumber["isZero"];
type Next<TNumber extends AnyNumber> = { prev: TNumber, isZero: "false" };
type Prev<TNumber extends PositiveNumber> = TNumber["prev"];