-- | Special type for unicode characters.
module Language.Drasil.Unicode(Special(Circle), RenderSpecial(special)) where

-- | Special characters include partial derivatives and the degree circle.
data Special = Circle  -- remove by refactoring how units are done 
  deriving (Special -> Special -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Special -> Special -> Bool
$c/= :: Special -> Special -> Bool
== :: Special -> Special -> Bool
$c== :: Special -> Special -> Bool
Eq, Eq Special
Special -> Special -> Bool
Special -> Special -> Ordering
Special -> Special -> Special
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Special -> Special -> Special
$cmin :: Special -> Special -> Special
max :: Special -> Special -> Special
$cmax :: Special -> Special -> Special
>= :: Special -> Special -> Bool
$c>= :: Special -> Special -> Bool
> :: Special -> Special -> Bool
$c> :: Special -> Special -> Bool
<= :: Special -> Special -> Bool
$c<= :: Special -> Special -> Bool
< :: Special -> Special -> Bool
$c< :: Special -> Special -> Bool
compare :: Special -> Special -> Ordering
$ccompare :: Special -> Special -> Ordering
Ord)

-- | Class for rendering special characters.
class RenderSpecial r where
  special :: Special -> r