Max HeiberThe Best Way for a Programming Language to Do Variables (so far): The ML WayThe design space for variables in programming languages is large, but so far (afaik) only one good solution has been found, and many bad…6 min read·Mar 19, 2023----
Max HeiberJavaScript does not have a “pass by reference vs.I’ll show why the folklore that “JS objects are passed by reference, primitives are passed by value” has nothing to do with passing…5 min read·Mar 18, 2023----
Max HeiberFunction intersection types sound simple, but get less intuitive the deeper one looks.Each of the following surprised me, and has its own section in this post:6 min read·Jan 23, 2021----
Max HeiberSubtyping Loses Information, Row Polymorphism Does NotBrian McKenna’s “Row Polymorphism Isn’t Subtyping” is about the distinction between row polymorphism and subtyping. Several re-readings…5 min read·Dec 11, 2020----
Max HeiberexThe Principle of Explosion in Ordinary Computer ProgramsThere’s normally a tight connection between programming and proving: this is known as “Propositions as Types.” I found one aspect of the…5 min read·Dec 5, 2020----
Max HeiberWhat Makes a DSL Bad? Make, CSS, and how we can do better.There are many places where you can find arguments that DSLs (domain-specific languages) or “language oriented programming” are good. But…5 min read·Nov 28, 2020----
Max HeiberThe Type of a Type in TypeScriptI’ll present four puzzles and two solutions about classes and types.4 min read·Mar 15, 2020----
Max HeiberAlternatives to TypeScript enumsTypeScript, like many programming languages provides enums, which enable you to enumerate the values a type may have.3 min read·Feb 2, 2020--3--3
Max HeiberinHackerNoon.comMobX Observable is not Rx ObservableHere are two tables that show the similarities and differences between MobX Observables and Rx Observables:1 min read·Feb 10, 2018--2--2
Max HeiberinHackerNoon.comRedux Funk—Simple, Testable Async EffectsThere are a ton of libraries for doing asynchronous effects in Redux apps. Some see this as a bad thing, but I love the intellectual…6 min read·Oct 1, 2016----