Adding Fix to the standard library

Hello all,

I’ve made a CLC proposal to add the definition of Fix to the standard library, under the Data.Recursion.Fix or Data.Fix.Type modules (do speak up if you think there’s a better name space for it, it’s open for discussion).

If you’re interested in this discussion, or are a library maintainer who has redefined Fix, we’d like to have your input at Adding Fix to base · Issue #190 · haskell/core-libraries-committee · GitHub

Thanks!

PS:
That is, let’s have this in base:

newtype Fix f = Fix { unFix :: f (Fix f) }
9 Likes

I heartily concur - for one, fix is already in base, so why not type-level Fix as well? I may have piped up a few times here and there about it, but I would definitely like to see more recursion primitives in base, and Fix is certainly a start.

5 Likes