Hacker News new | past | comments | ask | show | jobs | submit login

> I disagree. A terminating type checker is much more valuable than a possibly non-terminating one.

I don't think that's true at all, and I think there are two extreme examples that drive the point home:

Consider on the one hand a language where typechecking is entirely terminating so long as you don't use one particular feature; however, that feature is also not very useful in practice (even notwithstanding the potential nontermination) and so it doesn't actually get used by real people writing real code. Adding that feature doesn't improve the language, but I contend that it doesn't make the type checker "much [less] valuable."

On the other hand, consider a language where type checking provably terminates in all cases, but based on subtleties sometimes completes in seconds and sometimes takes decades. I don't think this provides "much more [value]" than a similar system that sometimes fails to terminate only in some of the cases where the other would take (say) more than a week.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: