shithub: MicroHs

ref: ddfd7cbc3f0d1c3556e206f838986f61f9805e57
dir: /tests/TypeLits.hs/

View raw version
module TypeLits(main) where
import Prelude
import Data.TypeLits

data PS (s :: Symbol) = PS
data PN (s :: Nat) = PN

natValInt :: forall (n :: Nat) . KnownNat n => PN n -> Int
natValInt p = fromInteger (natVal p)

main :: IO ()
main = do
  print $ symbolVal (PS :: PS "hello")
  print $ natVal (PN :: PN 42)
  print $ natValInt (PN :: PN 42)