4 ms·
I get your point, but I think you're being a bit harsh on OP. Yes the material is covered in the literature, but for people who aren't already familiar with it,
by peterkelly 6y ago
I get your point, but I think you're being a bit harsh on OP. Yes the material is covered in the literature, but for people who aren't already familiar with it, it can take an enormous amount of time and effort to both find and understand the right papers (I know because I've been doing exactly that for the past few months for a language I'm designing).
This blog post gives a nice and easily-understood explanation of the concept, which is more than can be said for the way that much of the literature on type theory and static analysis is written. HN isn't an academic journal or PhD defense; ideas described don't have to be new to be useful.
And making ideas more widely known is valuable; even the just-released Java 16 missed out on this exact feature in its "pattern matching" (really type narrowing) support, requiring the programmer to declare an additional variable rather than using information just established about an existing one: https://openjdk.java.net/jeps/394 https://openjdk.java.net/jeps/394
- UncleMeat 6y agoI think it is a useful tool. I also think that getting meaningful results on a 6% performance hit is impressive. IMO, the blog post would be a great little piece with two or three sentences removed. My hope is that OP finds kinship in the community, not to discourage them.
- muglug 6y agoI'm always happy to receive knowledge! That last sentence was meant as an exhortation to authors of similar static analysis tools: "Please implement this so I don't feel it’s a spurious addition". Many of those authors are like me – engineers who lack a post-grad education in program analysis, but are still interested in the subject. I hope some of them did read it, and can bring the same analysis to their own tools. I was also really happy when I discovered Typed Racket had implemented it, mostly because it meant that the idea wasn't flawed for some theoretical reason I’m too ill-educated to understand...