symbol-parser-0.1.0: src/Data/Type/Symbol.hs
{-# LANGUAGE UndecidableInstances #-}
module Data.Type.Symbol where
import GHC.TypeLits
-- | Get the length of a symbol.
type Length sym = Length' 0 (UnconsSymbol sym)
type family Length' len mchsym where
Length' len 'Nothing = len
Length' len ('Just '(_, sym)) = Length' (len+1) (UnconsSymbol sym)