Advertisement
Guest User

Untitled

a guest
Mar 27th, 2015
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. type Person = String
  2. type Book = String
  3. type Database = [(Person, Book)]
  4.  
  5. loan :: Database -> Person -> Book -> Database
  6. returnBook :: Database -> Book -> Database
  7. loanedBooks :: Database -> Person -> [Book]
  8. {-
  9. loanee :: Database -> Book -> [Person]
  10. isAvailable :: Database -> Book -> Bool
  11. worstReader :: Database -> Person
  12. -}
  13. loan db person book = (person,book):db
  14.  
  15. returnBook db book
  16. |snd(head db) == book = tail db
  17. |otherwise = (head db) : (returnBook (tail db) book)
  18.  
  19. loanedBooks db person
  20. |length db == 0 = []
  21. |fst(head db) == person = snd(head db) : loanedBooks (tail db) person
  22. |otherwise = loanedBooks (tail db) person
  23.  
  24. loanee db book
  25. |length db == 0 = []
  26. |snd(head db) == book = fst(head db) : loanee (tail db) book
  27. |otherwise = loanee (tail db) book
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement