blob: 20413f7399568da4a14aa8c8906c824b7237cdb0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
module Main where
import qualified BrainFuck
import System.Environment (getArgs)
import qualified Evolve
import qualified Control.Concurrent.Chan as Chan
import Control.Concurrent (forkIO)
import Data.List (intercalate)
type BF = [BrainFuck.BF]
main :: IO ()
main = do a <- getArgs
s <- readFile (head a)
let bf = BrainFuck.strToBF s
c <- Chan.newChan
_ <- forkIO $ Evolve.evolve c bf
generations <- Chan.getChanContents c
mapM_ display generations
where display e = putStrLn $ BrainFuck.runBF e ++ "\ncode: (" ++ intercalate "" (map show e) ++ ")"
|