1. The comments aspect of this doesn't really jump out at me from the landing page.
2. The words "knowledge base" scare most people.
3. "You will be our customer and we promise to treat you the way we’d like to be treated too… with respect" is much more ominous with ellipsis than it would be with an em dash or a colon.
Intuitionistic logic and intuitionistic type theory follow essentially the same set of rules, so how does type theory allow for a "marriage of mathematics and computation" any more than logic, which everyone already uses?
Tangentially, Rust goes well out of its way to avoid "type inference at a distance". For example, unlike Haskell or most MLs, type inference will not work across a function boundary.
Sure, but I guess that's the point --- the GCs in Java and Go can handle any allocation pattern you throw at them reasonably well, but there's not, as far as I know, such a "one-size-fits-all" solution in C++ (not that it needs one.)
Out of curiosity, why does the condition "without egregious side effects" exist? Aren't egregious side effects already factored ibto the "net benefit" calculation?
> I wouldn’t have bet that this is what would have happened.
Which part of the results are you referring to? It's well-known that reference counting has significantly lower throughput that tracing garbage collectors, so the fact that C++ is outperformed here isn't surprising at all.
Side note: the study of monoids isn't a very big field in mathematics, because they're too simple to say too much about them. But if you modify them just a bit, either in the direction of groups or in the direction of categories, you get massive fields of study.
And yes, the syntax of Haskell (besides unary minus) really does feel like it's close to some kind of optimum.