diff options
| author | Ray Hogenson <rhogenson@posteo.net> | 2019-09-07 16:36:01 -0700 |
|---|---|---|
| committer | Ray Hogenson <rhogenson@posteo.net> | 2019-09-07 16:36:01 -0700 |
| commit | 440dd38f24d1df150fb5b4c7965bb6e792c929fe (patch) | |
| tree | 4d9da56e839f85949dbde1f3b3b0413f3f52b753 /Main.hs | |
| download | evolution-main.tar.zst | |
This program is in a weird state right now, but I'm checking it in to
git so that I can back it up, since I want to reinstall again.
Diffstat (limited to 'Main.hs')
| -rw-r--r-- | Main.hs | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -0,0 +1,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) ++ ")" |
