Charity – Categorical programming language (1998)
21 points
3 days ago
| 1 comment
| github.com
| HN
dlahoda
2 hours ago
[-]
"All Charity computations terminate" - Turing decidable it was.
reply
vinnyhaps
43 minutes ago
[-]
I think it would imply that it is a Turing incomplete language. So, it would not be able to express certain programs, but all the computation you can represent is mathematically shown to reduce to a termination point.
reply
Verdex
3 minutes ago
[-]
IIRC they do some stuff with f co algebras. Which if I understand it is effectively doing things like "hey here's a generator that produces an infinite number of the number 1, but the only way to evaluate it is via a take with a finite number".

I know with idris there is also a progress evaluator for otherwise general recursion that proves that your input is always "getting smaller". Not sure if charity has the same deal or not.

Regardless, it isn't turning complete, but the interesting part is how far you can get in a sub turing environment.

reply