diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/haskell/Example/Delta.hs	Fri Feb 06 16:28:54 2015 +0900
@@ -0,0 +1,36 @@
+module Example.Delta where
+
+import Data.Numbers.Primes
+import Delta
+
+-- samples
+
+generator :: Int -> Delta [Int]
+generator x = let intList = [1..x] in
+                  return intList
+
+primeFilter :: [Int] -> Delta [Int]
+primeFilter xs = let primeList    = filter isPrime xs
+                     refactorList = filter even xs    in
+                 deltaFromList [ primeList, refactorList]
+
+count :: [Int] -> Delta Int
+count xs = let primeCount = length xs in
+           return primeCount
+
+primeCount :: Int -> Delta Int
+primeCount x = generator x >>= primeFilter >>= count
+
+bubbleSort :: [Int] -> Delta [Int]
+bubbleSort [] = return []
+bubbleSort xs = bubbleSort remainValue >>= (\xs -> deltaFromList [ (sortedValueL : xs),
+                                                                   (sortedValueR ++ xs)] )
+    where
+        maximumValue = maximum xs
+        sortedValueL = maximumValue
+        sortedValueR = replicate (length $ filter (== maximumValue) xs) maximumValue
+        remainValue  = filter (/= maximumValue) xs
+
+
+
+