summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_fail/ClassOperator.hs
blob: 922cbdb0f464d234f955959b5b7f7deb21eb8c25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{-# LANGUAGE PatternSynonyms, TypeOperators, TypeFamilies, MultiParamTypeClasses, GADTs #-}

module ClassOperator where

import Data.Kind

-- | Class with fixity, including associated types
class a ><> b where
  type a <>< b :: Type
  data a ><< b
  (>><), (<<>) :: a -> b -> ()

  -- | Multiple fixities
  (**>), (**<), (>**), (<**) :: a -> a -> ()

infixr 1 ><>
infixl 2 <><
infixl 3 ><<
infixr 4 >><
infixl 5 <<>

infixr 8 **>, >**
infixl 8 **<, <**