shithub: MicroHs

ref: 5f1eafa05adeb65e2cd1f6db83d9cbd88c2cb0d9
dir: /tests/Symbol.hs/

View raw version
module Symbol(main) where
import Prelude

data T (s::Symbol) = A Int

class C a where
  m :: a -> Int

instance C (T "id") where
  m (A i) = i
instance C (T "neg") where
  m (A i) = - i
instance C (T "inc") where
  m (A i) = succ i

a :: T "id"
a = A 10
b :: T "neg"
b = A 10
c :: T "inc"
c = A 10

main :: IO ()
main = do
  print (m a)
  print (m b)
  print (m c)
  return ()