Skip to content

Allow untyped brackets in typed splices and vice versa.

Prelude> :set -XTemplateHaskell
Prelude> :m +Language.Haskell.TH
Prelude Language.Haskell.TH> $(unTypeCode [|| 'x' ||])

<interactive>:3:14: error: [GHC-45108]
     Typed brackets may not appear in untyped splices.
     In the Template Haskell typed quotation [|| 'x' ||]
      In the untyped splice: $(unTypeCode [|| 'x' ||])
Prelude Language.Haskell.TH> $$(unsafeCodeCoerce [| 'x' |])

<interactive>:4:21: error: [GHC-45108]
     Untyped brackets may not appear in typed splices.
     In the Template Haskell quotation [| 'x' |]
      In the typed splice: $$(unsafeCodeCoerce [| 'x' |])

but I don't see any reason to disallow these.

In my use case I want to use type brackets ([t| ... |]) and there isn't typed variant of that.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information