6 ms·
> but obviously it means it accepts invalid programs with undefined behavior. Congratulations! This is the most entitled sentence in all of computing. The priz
by fusiongyro 9y ago
> but obviously it means it accepts invalid programs with undefined behavior.
Congratulations! This is the most entitled sentence in all of computing. The prize ceremony will be held at your house, tomorrow. I'll be casting a statue of gold for you, but first I have to rebuild all the software between me and the CNC machine in Coq or Typescript.
- 59nadir 9y agoOn a barely related note: When did Typescript's type system become some shining example of type systems? It's super basic and you can do almost nothing with it. It's not as basic as Go's type system, but it's really very sparse.
- wyager 9y agoNot saying it’s particularly amazing, but its ad-hoc structural product types are really nice. I would really enjoy if a language had TS-style ad-hoc structural products and Ocaml-style ad-hoc structural sums. This would allow for very lightweight type-level documentation.
- 59nadir 9y agoI can no longer edit my original comment, so I'll take the opportunity to pull back a little bit and say I don't wanna make it seem like I think TS's type system is useless, but rather it's nothing special. That said, I guess it's much better than nothing at all (JS).
- ernst_klim 9y ago>Ocaml-style ad-hoc structural sums Ocaml also has ad-hoc products (objects and tuples).
- wyager 9y agoBasically every language has ad-hoc products in the form of tuples. They aren’t structurally typed in ocaml, which is the interesting part. Typescript has labeled products that have similar subtyping rules to ocaml’s anonymous sum subtyping rules. Eg {x:a, y:b} < {x:a}.
- ernst_klim 9y agoObjects in OCaml are labeled products. < x:a; y:b > <: <x:a>
- wyager 9y agoAh, I did not know that. I’ve only used the {x : a} record syntax in ocaml.