{-# LANGUAGE MultiParamTypeClasses #-}

module Data.Convertible.Class where

{- | A typeclass that represents something that can be converted.
A @Convertible a b@ instance represents an @a@ that can be converted to a @b@. -}
class Convertible a b where
  {- | Convert from @a@ to @b@.
   Byte string is assumed to be in utf-8 encoding. -}
  convert :: a -> b