{-# LANGUAGE TemplateHaskell, FlexibleInstances, OverlappingInstances, UndecidableInstances, GeneralizedNewtypeDeriving, DeriveDataTypeable, MultiParamTypeClasses #-} module Types where -- import HAppS import HAppS.Data $( deriveAll [''Show,''Default,''Read,''Eq,''Ord] [d| data UserInfo = UserInfo User Pass newtype User = User String newtype Pass = Pass String |] ) --define indexed set for entries --Entry is defined in Atom --this inferIxSet defines an indexed collection on Entry called Entries --type Entry = HAppS.Entry () --type Feed = HAppS.Feed () --feed = Feed --feed::[Types.Entry] -> Types.Feed -- $(inferIxSet "Entries" ''Entry 'getWords [''Id,''Updated,''Email,''Word,''Owner])