We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent a0dcc34 commit 66f78acCopy full SHA for 66f78ac
BFMulti.hs
@@ -21,8 +21,10 @@ print (c:cs) = (show c) ++ (concat . map (\x -> " " ++ (show x)) $ cs)
21
type Program = [Command]
22
23
optimize :: Program -> Program
24
-optimize p = concat $ foldr1 (.) (map ((flip optimize_step) []) [0..(last_tape p)]) $ (map (\x -> [x]) p) where
25
-
+optimize p = concat $ foldr1 (.) (map ((flip optimize_step) []) [0..(last_tape p)]) $ (map prepare p) where
+ prepare (Loop k p) = [Loop k (optimize p)]
26
+ prepare c = [c]
27
+
28
-- index, accumulator, code, result
29
optimize_step :: Int -> Program -> [Program] -> [Program]
30
optimize_step i acc [] = [acc]
0 commit comments