comparison haskell/Example/Delta.hs @ 134:3f48bd08865f

Rename and split with module for haskell codes
author Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp>
date Fri, 06 Feb 2015 16:28:54 +0900
parents
children bb0b2fb49a93
comparison
equal deleted inserted replaced
133:7984c9f4b5eb 134:3f48bd08865f
1 module Example.Delta where
2
3 import Data.Numbers.Primes
4 import Delta
5
6 -- samples
7
8 generator :: Int -> Delta [Int]
9 generator x = let intList = [1..x] in
10 return intList
11
12 primeFilter :: [Int] -> Delta [Int]
13 primeFilter xs = let primeList = filter isPrime xs
14 refactorList = filter even xs in
15 deltaFromList [ primeList, refactorList]
16
17 count :: [Int] -> Delta Int
18 count xs = let primeCount = length xs in
19 return primeCount
20
21 primeCount :: Int -> Delta Int
22 primeCount x = generator x >>= primeFilter >>= count
23
24 bubbleSort :: [Int] -> Delta [Int]
25 bubbleSort [] = return []
26 bubbleSort xs = bubbleSort remainValue >>= (\xs -> deltaFromList [ (sortedValueL : xs),
27 (sortedValueR ++ xs)] )
28 where
29 maximumValue = maximum xs
30 sortedValueL = maximumValue
31 sortedValueR = replicate (length $ filter (== maximumValue) xs) maximumValue
32 remainValue = filter (/= maximumValue) xs
33
34
35
36