Safe Haskell | None |
---|---|
Language | Haskell2010 |
Functions to support the TH code (i.e., functions called by generated code)
NOTE: We leave the generic representation type as lazy, and only force values once we translate back to the type itself. This means that we can chain generic functions and get some kind of fusion without having to traverse records multiple times.
Synopsis
- dictFor :: c x => Proxy c -> Proxy x -> Dict c x
- repFromVector :: Vector Any -> Rep I a
- repToVector :: Rep I a -> Vector Any
- rnfVectorAny :: Vector Any -> ()
- noInlineUnsafeCo :: forall a b. a -> b
Miscellaneous
rnfVectorAny :: Vector Any -> () Source #
noInlineUnsafeCo :: forall a b. a -> b Source #
Avoid potential segfault with ghc < 9.0
See https://gitlab.haskell.org/ghc/ghc/-/issues/16893. I haven't actually seen this fail in large-records, but we saw it fail in the compact representation branch of sop-core, and what we do here is not so different, so better to play it safe.