Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2015
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.49 KB | None | 0 0
  1. module Q22 where
  2.  
  3. range :: Int -> Int -> [Int]
  4. range x y = case (rangeTest x y) of Left x -> x
  5. Right y -> error y
  6.  
  7. rangeTest :: Int -> Int -> Either [Int] String
  8. rangeTest x y =
  9. let
  10. check :: Int -> Int -> Either [Int] String
  11. check x y
  12. | y < x = Right "y < x is not supported"
  13. | otherwise = Left (rangeTest' x y)
  14.  
  15. rangeTest' :: Int -> Int -> [Int]
  16. rangeTest' x y = if (x == y) then [x] else x:(rangeTest' (x + 1) y)
  17. in
  18. check x y
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement