module Bamboo.Type.Class where
import Bamboo.Helper.PreludeEnv
import Bamboo.Type.Common
import System.Time
import Text.XHtml.Strict
class (Show a) => Resource a where
resource_title :: a -> String
resource_type :: a -> String
resource_type = show > snake_case
class Markable a where
markup :: a -> Html
class Datable a where
date :: a -> CalendarTime
class Addressable a where
uri :: a -> String
class Gettable a where
get :: String -> IO a
class Mappable a where
from_assoc :: Assoc -> IO a
class Creatable a where
create :: a -> IO ()
class Listable a where
list :: IO [a]
list = return []
list_for :: String -> IO [a]
list_for = const list
cheat_list :: IO [a]
cheat_list = list
class FlatRead a where
flat_read :: String -> IO a