Copyright | (C) 2014 Hugo Pacheco |
---|---|
License | BSD-style (see the file LICENSE) |
Maintainer | Hugo Pacheco <hpacheco@nii.ac.jp> |
Stability | provisional |
Safe Haskell | None |
Language | Haskell98 |
Database examples for a source database with a list of people.
- type Name = String
- type City = String
- data Person = Person {}
- nameLens :: Lens' Person Name
- cityLens :: Lens' Person City
- namePut :: PutlensM Identity Person Name
- cityPut :: PutlensM Identity Person City
- nameP :: Monad m => PutlensM m Person Name
- peopleNamesPut0 :: Monad m => City -> PutlensM m [Person] [Name]
- exPeopleNamesPut1 :: Identity [Person]
- peopleNamesPut :: Monad m => City -> PutlensReaderM m [Person] [Person] [Name]
- exPeopleNamesPut2 :: [Person]
- selectPut :: (Monad m, Eq a, Ord k) => (a -> k) -> (Maybe [a] -> m [a]) -> (a -> Bool) -> PutlensM m [a] [a]
- selectPut' :: (Monad m, Eq a, Ord k) => (a -> k) -> (a -> Bool) -> PutlensStateM m (Maybe a, [a]) [a] [a]
- recoverEntry :: Ord k => (a -> k) -> [a] -> [a] -> (Maybe a, [a])
- nameLns :: Lens Person Name
- cityLns :: Lens Person City
- isFrom :: City -> Person -> Bool
- peopleFromPut :: Monad m => City -> PutlensM m [Person] [Person]
- peopleFromToPut :: Monad m => City -> City -> PutlensM m [Person] [Person]
- people :: [Person]
- hugo :: Person
- sebastian :: Person
- zhenjiang :: Person
- sebastianTokyo :: Person
- exPeopleFromPut1 :: [Person]
- exPeopleFromPut2 :: Identity [Person]
- exPeopleFromPut3 :: Identity [Person]
- exPeopleFromToPut1 :: Identity [Person]
- exPeopleFromToPut2 :: Identity [Person]
- type Book = (String, String)
- type BookPerson = (String, Person)
- booksOfPeoplePut :: Monad m => PutlensM m ([Book], [Person]) [BookPerson]
- booksOfPeoplePut' :: Monad m => PutlensM m ([Book], [Person]) [BookPerson]
- booksOfPersonPut :: Monad m => PutlensStateM m [Person] (Book, [Person]) BookPerson
- joinBookPersonPut :: Monad m => PutlensM m (Book, Person) BookPerson
- booksOfPeoplePut2 :: Monad m => PutlensM m ([Book], [Person]) [BookPerson]
- booksOfPut :: Monad m => [Person] -> PutlensM m [Book] [Book]
- selectPersonPut :: Monad m => Name -> PutlensStateM m [Person] [Person] Person
- someBooks :: [([Char], [Char])]
- somePeople :: [Person]
- someJoin :: [([Char], Person)]
- insMock :: [([Char], Person)]
- exJoinPut1 :: ([Book], [Person])
- exJoinPut2 :: ([Book], [Person])
- delLOTR :: [([Char], Person)]
- exJoinPut3 :: ([Book], [Person])
- exJoinPut4 :: ([Book], [Person])
- delLOTRMaias :: [([Char], Person)]
- exJoinPut5 :: ([Book], [Person])
- exJoinPut6 :: ([Book], [Person])
Documentation
DB project
peopleNamesPut :: Monad m => City -> PutlensReaderM m [Person] [Person] [Name] Source
DB select
selectPut :: (Monad m, Eq a, Ord k) => (a -> k) -> (Maybe [a] -> m [a]) -> (a -> Bool) -> PutlensM m [a] [a] Source
Generic database select putlens
selectPut' :: (Monad m, Eq a, Ord k) => (a -> k) -> (a -> Bool) -> PutlensStateM m (Maybe a, [a]) [a] [a] Source
recoverEntry :: Ord k => (a -> k) -> [a] -> [a] -> (Maybe a, [a]) Source
peopleFromPut :: Monad m => City -> PutlensM m [Person] [Person] Source
Selects all people from
a city
peopleFromToPut :: Monad m => City -> City -> PutlensM m [Person] [Person] Source
Selects all people from
a city (moves deleted people to a new city to
)
exPeopleFromPut1 :: [Person] Source
DB Join
type BookPerson = (String, Person) Source
booksOfPeoplePut :: Monad m => PutlensM m ([Book], [Person]) [BookPerson] Source
booksOfPeoplePut' :: Monad m => PutlensM m ([Book], [Person]) [BookPerson] Source
booksOfPersonPut :: Monad m => PutlensStateM m [Person] (Book, [Person]) BookPerson Source
joinBookPersonPut :: Monad m => PutlensM m (Book, Person) BookPerson Source
booksOfPeoplePut2 :: Monad m => PutlensM m ([Book], [Person]) [BookPerson] Source
selectPersonPut :: Monad m => Name -> PutlensStateM m [Person] [Person] Person Source
somePeople :: [Person] Source
exJoinPut1 :: ([Book], [Person]) Source
exJoinPut2 :: ([Book], [Person]) Source
exJoinPut3 :: ([Book], [Person]) Source
exJoinPut4 :: ([Book], [Person]) Source
delLOTRMaias :: [([Char], Person)] Source
exJoinPut5 :: ([Book], [Person]) Source
exJoinPut6 :: ([Book], [Person]) Source