News for hackers. Stuff that matters.
Re:Two Weeks of Rust by catnaroek on Tuesday January 12, 2016 @08:48AM (#10887346)
They're not similar at all. Algebraic data types are finite sums and (tensor) products. Abstract data types are existential types, which are infinite sums indexed by a kind.
Re:Two Weeks of Rust by pjmlp on Tuesday January 12, 2016 @10:01AM (#10887752)
The purpose of my remark is how they look like in terms of usage for the humble programmer.

They being similar how having a limited data structure (non extensible) with a set of functions that operate on it. Depending on the FP language ADTs can also partially hide their implementation like the Abstract Data Types in modular languages.

But I can also happily discuss the math theory and the denotational semantics about them across languages, but I don't think it will help for many readers.

Re:Two Weeks of Rust by tel on Tuesday January 12, 2016 @09:40AM (#10887631)
What makes them weak?
Re:Two Weeks of Rust by catnaroek on Tuesday January 12, 2016 @10:04AM (#10887770)
When you unpack a weak existential type repeatedly, every time you get a fresh new type. When you unpack a strong existential repeatedly, you always get the same type.

Anyway, my original comment was wrong: in ML, every time you project a type component from a module, you always get the same type. So it's more like a strong existential. My bad.

Re:Two Weeks of Rust by tel on Tuesday January 12, 2016 @10:26AM (#10887899)
Ah, gotcha. Thanks!