comparison similar.hs @ 23:b4d3960af901

Define similar constructor for different element
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Tue, 30 Sep 2014 14:10:26 +0900
parents f0400c4c953f
children
comparison
equal deleted inserted replaced
22:f0400c4c953f 23:b4d3960af901
28 28
29 29
30 returnS :: (Show s) => s -> Similar s 30 returnS :: (Show s) => s -> Similar s
31 returnS x = Similar [(show x)] x [(show x)] x 31 returnS x = Similar [(show x)] x [(show x)] x
32 32
33 returnSS :: (Show s) => s -> s -> Similar s
34 returnSS x y = Similar [(show x)] x [(show y)] y
35
33 -- samples 36 -- samples
34 37
35 generator :: Int -> Similar [Int] 38 generator :: Int -> Similar [Int]
36 generator x = let intList = [1..x] in 39 generator x = let intList = [1..x] in
37 returnS intList 40 returnS intList
38 41
39 primeFilter :: [Int] -> Similar [Int] 42 primeFilter :: [Int] -> Similar [Int]
40 primeFilter xs = let primeList = filter isPrime xs 43 primeFilter xs = let primeList = filter isPrime xs
41 refactorList = filter even xs in 44 refactorList = filter even xs in
42 Similar [(show primeList)] primeList [(show refactorList)] refactorList 45 returnSS primeList refactorList
43 46
44 count :: [Int] -> Similar Int 47 count :: [Int] -> Similar Int
45 count xs = let primeCount = length xs in 48 count xs = let primeCount = length xs in
46 returnS primeCount 49 returnS primeCount
47 50