
There is an issue #1216: "concatenation of type level symbols missing" [1]. I made a working patch, but we need to figure out the details. As the patch introduces new non-obvious name to the base library, I’m starting a thread in libraries@ to figure out community's opinion. I’m proposing to add `type family (n :: Symbol) <> (m :: Symbol)` to `GHC.TypeLits`. Currently implementation uses (<>). Another options are (++), (+++) or `AppendSymbol`. - (<>) resembles Semigroup operation, as (+) resembles Num operation - (++) is a list appending operation. IMHO it’s a bad choice - (+++) is used by ghc-typelits-symbols plugin - `AppendSymbol` is sensible too, if libraries want to define own versions of type-level (<>) (e.g. polykinded) Discussion period: 2 weeks. Cheers, Oleg Grenrus. - [1] https://ghc.haskell.org/trac/ghc/ticket/12162 https://ghc.haskell.org/trac/ghc/ticket/12162 - [2] https://github.com/konn/ghc-typelits-symbols/blob/cd812f4cfc2e6816a18283a6a0... https://github.com/konn/ghc-typelits-symbols/blob/cd812f4cfc2e6816a18283a6a0...