diff options
author | Jed Barber <jjbarber@y7mail.com> | 2014-02-06 02:00:19 +1100 |
---|---|---|
committer | Jed Barber <jjbarber@y7mail.com> | 2014-02-06 02:00:19 +1100 |
commit | 7bdff9045dba7506c7cd40646d0da95c0807b875 (patch) | |
tree | 364ed87f634b1210e55c02ee8c9aaa960c5e13f7 | |
parent | 7900ae557ebe8319e43daf9c4202e8acb886317a (diff) |
Factored out example Fractran programs into their own module
-rw-r--r-- | Fractran/Example.hs | 32 | ||||
-rw-r--r-- | fractran.hs | 27 |
2 files changed, 32 insertions, 27 deletions
diff --git a/Fractran/Example.hs b/Fractran/Example.hs new file mode 100644 index 0000000..3bd7b9f --- /dev/null +++ b/Fractran/Example.hs @@ -0,0 +1,32 @@ +module Example ( + addition, + multiply, + prime2, + prime10short, + prime10) where + +-- some simple fractran programs + +-- input: 2^a * 3^b +-- output: 3^(a+b) +addition :: [(Int,Int)] +addition = [(3,2)] + +-- input: 2^a * 3^b +-- output: 5^ab +multiply :: [(Int,Int)] +multiply = [(13,21), (385,13), (1,7), (3,11), (7,2), (1,3)] + +-- input: 2 +-- output: a sequence containing all prime powers of 2 +prime2 :: [(Int,Int)] +prime2 = [(17,91), (78,85), (19,51), (23,38), (29,33), (77,29), (95,23), (77,19), (1,17), (11,13), (13,11), (15,14), (15,2), (55,1)] + +-- input: 10 +-- output: a sequence containing all prime powers of 10 +prime10short :: [(Int,Int)] +prime10short = [(3,11), (847,45), (143,6), (7,3), (10,91), (3,7), (36,325), (1,2), (36,5)] + +prime10 :: [(Int,Int)] +prime10 = [(7,3), (99,98), (13,49), (39,35), (36,91), (10,143), (49,13), (7,11), (1,2), (91,1)] + diff --git a/fractran.hs b/fractran.hs index 5009fd8..0d78ef9 100644 --- a/fractran.hs +++ b/fractran.hs @@ -40,33 +40,6 @@ isPowerOf x y = --- some simple fractran programs - --- input: 2^a * 3^b --- output: 3^(a+b) -addition :: [(Int,Int)] -addition = [(3,2)] - --- input: 2^a * 3^b --- output: 5^ab -multiply :: [(Int,Int)] -multiply = [(13,21), (385,13), (1,7), (3,11), (7,2), (1,3)] - --- input: 2 --- output: a sequence containing all prime powers of 2 -prime2 :: [(Int,Int)] -prime2 = [(17,91), (78,85), (19,51), (23,38), (29,33), (77,29), (95,23), (77,19), (1,17), (11,13), (13,11), (15,14), (15,2), (55,1)] - --- input: 10 --- output: a sequence containing all prime powers of 10 -prime10short :: [(Int,Int)] -prime10short = [(3,11), (847,45), (143,6), (7,3), (10,91), (3,7), (36,325), (1,2), (36,5)] - -prime10 :: [(Int,Int)] -prime10 = [(7,3), (99,98), (13,49), (39,35), (36,91), (10,143), (49,13), (7,11), (1,2), (91,1)] - - - fractran :: [(Int,Int)] -> Int -> [Int] fractran program value = let prog = map (\(x,y) -> (fromIntegral x, fromIntegral y)) program |