Re:Office 365 is being completely rewritten in JavaScript
by seanmcdirmid on Wednesday June 13, 2018 @12:40PM
(#17304686)
Typescript doesn’t have much Hindley Milner in it since it has way too much sub typing (even if it’s all structural).
Re:Office 365 is being completely rewritten in JavaScript
by wtetzner on Wednesday June 13, 2018 @03:58PM
(#17306421)
Too bad they didn't go with row types instead of structural sub-typing. Though that might not have matched with their goals of being able to type existing JavaScript. Not sure.
Re:Office 365 is being completely rewritten in JavaScript
by seanmcdirmid on Wednesday June 13, 2018 @04:21PM
(#17306597)
Exactly. Going structural was purely to match JavaScript interop. Heck, even Dart went with nominal sub typing, it isn’t a very common choice fo an non-functional language.
Yes, in theory you _can_ write big projects well in dynamically typed languages, but in practice you get a mess of undocumented interfaces and unit tests that don't quite catch the plethora of errors not present when a static type system is in place.
I think Typescript is a great middle ground between the loose running JS hipsters and the Haskell loving Hindley-Milner type system CS researchers. You can enforce the type restraints that you want (I personally am strict about explicit "string | null" declarations) but you're still hip enough to draw the JS talent.