-
-
Save kuribas/dc0721c819925a85666c4a313224aabd to your computer and use it in GitHub Desktop.
queryrunner
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class QueryRunner query m | |
data ResultSet query :: * | |
runQuery :: query -> m (ResultSet query) | |
-- exposed partialData constructor | |
partialData :: (Endo query) -> (ReaderT (ResultSet query) m a) -> PartialData query m a | |
partialData adder extractor = PartialData adder (AppExtractor extractor) | |
data PartialData query m a = | |
PartialData | |
(Endo query) -- query adder | |
(Extractor query m a) -- result extractor | |
data Extractor query m a = | |
AppExtractor (ReaderT resultSet m a) | -- applicative extractor | |
MonadExtractor (ReaderT resultSet m (PartialData query m a)) --monadic extractor | |
instance Applicative (PartialData query m) where |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment