Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> diverge (as in reaches some exceptional state)

The term "diverge," when applied to an exception, is not a computational term but a term from a specific formalism (e.g.: Haskell). A computation is a sequence of states; if it ever reaches a terminal state (i.e., a state from which it cannot exit), it is said to terminate. You can apply the terms converge/diverge to termination/non-termination, but once you speak of exceptions, you're using a language-specific terminology.

> if you could prove that both functions always return some value then you can also say that composing them will always return some value

Yes, but that would be too hard. `foo` doesn't always return a value, but `foo bar` does. What can you prove about `foo` and `bar` separately that would make proving that easier, not harder?



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

Search: