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 **<, <**
|