chexxor [5:25 PM]
ah, so Haskell’s fixed-points package defines cata
and Fix
, but in PS land, it’s split into fixed-points and matryoshka, where the former defines Fix as Mu
and the latter defines cata
.
The type sigs for matryoshka are quite intimidating, while sigs in the Haskell package are relatively quick to understand.
natefaubion [5:27 PM]
the equivalent to matryoshka is recursion-schemes
garyb [5:28 PM]
Fix
is not quite the same as Mu
, it can behave differently in Haskell due to laziness
chexxor [5:28 PM]
Isn’t that the same as anything between the two langs? Maybe in PS is not quite the same as Maybe in Haskell?
garyb [5:29 PM]
well, there’s a Mu
in haskell too
(it’s in recusion-schemes)
chexxor [5:30 PM]
Ah, https://stackoverflow.com/questions/45580858/what-is-the-difference-between-fix-mu-and-nu-in-ed-kmetts-recursion-scheme-pac
garyb [5:30 PM]
yeah
chexxor [5:32 PM]
oh, Mu and Nu are isomorphic? So if I can define a data type using Mu, then I should be able to do it using Nu?