summaryrefslogtreecommitdiff
path: root/Brainfuck/Tape.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Brainfuck/Tape.hs')
-rw-r--r--Brainfuck/Tape.hs46
1 files changed, 0 insertions, 46 deletions
diff --git a/Brainfuck/Tape.hs b/Brainfuck/Tape.hs
deleted file mode 100644
index 8da4352..0000000
--- a/Brainfuck/Tape.hs
+++ /dev/null
@@ -1,46 +0,0 @@
-module Brainfuck.Tape (
- Tape,
-
- shiftLeft,
- shiftRight,
- currentCell,
- applyToCurrentCell
- ) where
-
-
-import Control.Monad
-import Data.Maybe
-
-
-
-type Tape a = ([a], Maybe a, [a])
-
-
-
-
-shiftLeft :: Eq a => Tape a -> Tape a
-shiftLeft (x,y,z) =
- let x' = if (x /= []) then tail x else x
- y' = if (x /= []) then Just (head x) else Nothing
- z' = if (isJust y) then (fromJust y):z else z
- in (x', y', z')
-
-
-
-shiftRight :: Eq a => Tape a -> Tape a
-shiftRight (x,y,z) =
- let x' = if (isJust y) then (fromJust y):x else x
- y' = if (z /= []) then Just (head z) else Nothing
- z' = if (z /= []) then tail z else z
- in (x', y', z')
-
-
-
-currentCell :: Tape a -> Maybe a
-currentCell (_,c,_) = c
-
-
-
-applyToCurrentCell :: (a -> a) -> Tape a -> Tape a
-applyToCurrentCell f (x,y,z) = (x, (liftM f) y, z)
-