shigeo
shigeo on Hacker News
Out of curiosity, how and how often do you make use of Haskell's laziness, and how often does it get in your way?
And yes, the syntax of Haskell (besides unary minus) really does feel like it's close to some kind of optimum.
If you remove monadic IO, laziness and immutability from Haskell, then you're a lot closer to OCaml than you are to Haskell.
But more importantly, immutability is used everywhere in the industry.
Nice idea! Some cheapshots:
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.
> There are type theories that model classical logic and are yet still computable programming languages.
Thanks, but this seems absurd to me. Please elaborate!
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.
I probably still stand corrected, but commutativity is a much stronger condition than the existence of an identity!
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.
Or that a monoid is merely a category with exactly one object.