1
Alexander Isenko
13.02.2018
In-House presentation @ iteratec
2
13.02.2018
Alexander Isenko
3
13.02.2018
Alexander Isenko
4
13.02.2018
data Query = QIS IteraSkillQuery Query
| QW WikiQuery Query
| None
data IteraSkillQuery = WhoKnows String
| GetPerson String
whoKnowsRule :: [String] -> IteraSkillQuery
whoKnowsRule ("Who" : "knows" : lang : _) = WhoKnows lang
whoIsRule :: [String] -> IteraSkillQuery
whoIsRule ("Who" : "is" : person : _) = GetPerson person
Alexander Isenko
5
13.02.2018
data Query = QIS IteraSkillQuery Query
| QW WikiQuery Query
| None
parseQuery :: Query -> IO ()
parseQuery (OIS query rest) =
sendIteraSkillAPIRequest query >> parseQuery rest
parseQuery (OW query rest) =
sendWikiAPIRequest query >> parseQuery rest
parseQuery None = return ()
data Query = QIS IteraSkillQuery Query
| QW WikiQuery Query
| QComplex IteraSkillQuery WikiQuery Query
| None
parseQuery :: Query -> IO ()
parseQuery (OIS query rest) =
sendIteraSkillAPIRequest query >> parseQuery rest
parseQuery (OW query rest) =
sendWikiAPIRequest query >> parseQuery rest
parseQuery (QComplex isq wq) =
sendIteraSkillAPIRequest isq
>> sendWikiAPIRequest wq >> parseQuery rest
parseQuery None = return ()
Alexander Isenko
6
13.02.2018
Alexander Isenko
7
13.02.2018
Alexander Isenko
7
13.02.2018
Alexander Isenko
8
13.02.2018
Alexander Isenko