News for hackers. Stuff that matters.
Re:Node.js adds experimental support for TypeScript by haskman on Friday July 26, 2024 @04:58AM (#41076979)
Look into "Row types" and how PureScript, Haskell, and Elm (to a limited extent) do it.

'{foo :: Int | bar} is a record with a known property 'foo' and some unspecified properties 'bar'. You cannot pass a `{foo :: Int, bar :: Int}` into a function that expects `{foo :: Int}`.

A function that accepts any record with a field foo, changes foo, keeping other properties intact has the type

    {foo :: Int | bar} -> {foo :: Int | bar}

There are no comments on this comment yet.