Ryan Scott

Results 269 comments of Ryan Scott

> We will fix Trac #12564 sooner or later. I certainly hope so! But my understanding is that it's blocked on [Trac #14119](https://ghc.haskell.org/trac/ghc/ticket/14119), which is a monstrously large refactoring that...

It turns out that there you can work around [Trac #12564](https://ghc.haskell.org/trac/ghc/ticket/12564) here if you're willing to apply some elbow grease. The trick is not to define `type Sing = (Sing...

For the sake of posterity, I'd like to also make mention of an alternative way to solve the singletons-of-singletons problem that doesn't make use of `SWrappedSing`. This technique was adapted...

I'm forced to take back what I said in https://github.com/goldfirere/singletons/issues/366#issuecomment-489469086: `ToSing` might be needed after all to make `(S)WrappedSing` work. The reason I say this is because I realized recently...

This is slightly tangential to the discussion at hand, but assuming that we _do_ introduce a `ToSing` type family, do we also need a `FromSing` type family? Actually, we don't—we...

OK, back to the discussion at hand. Another factor to consider in the singletons-of-singletons debate is that in certain situations, you don't need singletons-of-singletons at all. For instance, https://github.com/goldfirere/singletons/issues/460#issue-609644848 observes...

You're not doing anything wrong _per se_. It's more that `singletons` isn't smart enough to handle the complexities of `Product` (or really, any data type with higher-kinded arguments). In particular,...

Indeed, I think you may have to stick with the `ToValue` approach you suggest. In theory, `SingI` + `SingKind` subsumes `ToValue`, but in practice, that combination is only as useful...

There is an interesting conversation starting [here](https://github.com/goldfirere/singletons/issues/150#issuecomment-612478578) about how one might define a `SingKind` instance for `Product`. The tl;dr version is that this is likely blocked until at least one...