News for hackers. Stuff that matters.
Re:The Great CoffeeScript to Typescript Migration of 2017 by gavinray on Friday May 15, 2020 @10:26PM (#23199932)
It doesn't really matter what the function does, if the input and output signatures are Interfaces or Types that have been annotated with JSDoc.

You see "Put an object with these properties and types in, get an object of this shape back out."

The beauty of types is in this black-box, abstract behavior.

You, as a library author, can define an Interface/Contract for the behavior of something completely abstractly, and other people can all use each other's implementations or contribute original ones because they obey the contract.

Think about an "Abstract class File, which implements open, read, and write."

There are a lot of ways you could write these methods but if your type signatures match the inputs and outputs they're all equally valid with predictable behavior.

Design by contract is a beautiful thing.

Re:The Great CoffeeScript to Typescript Migration of 2017 by keymone on Saturday May 16, 2020 @07:37AM (#23202603)
it matters when the function isn't pure but otherwise contracts are good.