Re:A look at Unison: a revolutionary programming language
by fwip on Wednesday January 11, 2023 @04:41PM
(#34345334)
Unison does allow mutually recursive functions.
https://www.unisonweb.org/docs/faq/#how-does-hashing-work-fo...
As far as I understand, Unison's syntax has been designed specifically to avoid such cycles, although it supports recursive functions and inductive data types which refer to themselves such as lists. I'm not sure if, and if so, how, it would support mutually recursive functions or data types though. I suspect they're not supported for the reason that content-hashing becomes non-trivial.
If you wanted to generalize the solution to arbitrary languages, you would need to somehow sever the cycles, or come up with another solution to content-hashing which does not have the problem of Merkle-DAGs. Either way, you are looking at something non-trivial compared to having a language which simply forbids the cycles.