Advertisement
Guest User

Pseudo-dependent typing in Haskell

a guest
Aug 10th, 2018
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class (Eq k) => MagmaId k where
  2.   type family Zero :: k
  3.   -- data Add  :: k -> k -> k
  4.   -- addIdl :: forall (x :: k) . (Add x Zero :~: x)
  5.  
  6. instance MagmaId Nat where
  7.   type instance Zero = 0
  8.   -- data Add  = '(+)
  9.   -- addIdl = Refl
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement