Mercurial > hg > Members > atton > delta_monad
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 |