Re:Unison Programming Language
by ajuc on Sunday June 27, 2021 @03:11PM
(#27654313)
Let's say you have definitions like that:
f: Nat -> Nat
g: Nat -> Nat
h: Nat -> Nat
h x = g (x * 2)
g x = f (x * 3)
f x = x < 0 ? 1 : h (x / 4)
And now you change f to be
f x = x < 1 ? 1 : h (x / 4)
How do you do that? There's a cycle in the callgraph. In fact - how do you calculate a hash of a function that calls itself if you need its hash to calculate its hash :)
EDIT: nevermind, recursion is a special case handled differently.
EDIT: nevermind, recursion is a special case handled differently.