Guest User

Untitled

a guest
Aug 6th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. data MyString = MyString String
  2.  
  3. fromString :: String -> MyString
  4. fromString s = MyString s
  5. toString :: MyString -> String
  6. toString (MyString ms) = ms
  7.  
  8. instance Eq MyString where
  9. (MyString a) == (MyString b) = if a == b
  10.                                 then True
  11.                                  else False
  12.  
  13. instance Ord MyString where
  14. compare (MyString a) (MyString b) | a == b = EQ
  15.                                   | (length a) > (length b) = GT
  16.                                   | (length a) < (length b) = LT
  17.                                   | (length a) == (length b) = compare' a b  
  18.  
  19. compare' [] [] = EQ
  20. compare' (a:as) (b:bs) | a > b = GT
  21.                       | a < b = LT
  22.                       | a == b compare' as bs
Add Comment
Please, Sign In to add comment