From 9a4ffd5bb0a8865530b64b329924bdfd190dfdcb Mon Sep 17 00:00:00 2001 From: Karl Ostmo Date: Sun, 16 Jul 2023 23:55:43 -0700 Subject: [PATCH] fix benchmark --- bench/Benchmark.hs | 8 +++++--- swarm.cabal | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/bench/Benchmark.hs b/bench/Benchmark.hs index 4a7b20f170..9475bf3e19 100644 --- a/bench/Benchmark.hs +++ b/bench/Benchmark.hs @@ -11,13 +11,15 @@ import Control.Monad.Except (runExceptT) import Control.Monad.State (evalStateT, execStateT) import Criterion.Main (Benchmark, bench, bgroup, defaultConfig, defaultMainWith, whnfAppIO) import Criterion.Types (Config (timeLimit)) +import Data.Map qualified as M import Swarm.Game.CESK (emptyStore, initMachine) import Swarm.Game.Display (defaultRobotDisplay) import Swarm.Game.Location import Swarm.Game.Robot (TRobot, mkRobot) -import Swarm.Game.State (GameState, addTRobot, creativeMode, world) +import Swarm.Game.State (GameState, addTRobot, creativeMode, multiWorld) import Swarm.Game.Step (gameTick) import Swarm.Game.Terrain (TerrainType (DirtT)) +import Swarm.Game.Universe (Cosmo (..), SubworldName (DefaultRootSubworld)) import Swarm.Game.World (WorldFun (..), newWorld) import Swarm.Language.Context qualified as Context import Swarm.Language.Pipeline (ProcessedTerm) @@ -73,7 +75,7 @@ circlerProgram = -- | Initializes a robot with program prog at location loc facing north. initRobot :: ProcessedTerm -> Location -> TRobot -initRobot prog loc = mkRobot () Nothing "" [] (Just loc) north defaultRobotDisplay (initMachine prog Context.empty emptyStore) [] [] False False 0 +initRobot prog loc = mkRobot () Nothing "" [] (Just $ Cosmo DefaultRootSubworld loc) north defaultRobotDisplay (initMachine prog Context.empty emptyStore) [] [] False False 0 -- | Creates a GameState with numRobot copies of robot on a blank map, aligned -- in a row starting at (0,0) and spreading east. @@ -85,7 +87,7 @@ mkGameState robotMaker numRobots = do (mapM addTRobot robots) ( (initAppState ^. gameState) & creativeMode .~ True - & world .~ newWorld (WF $ const (fromEnum DirtT, Nothing)) + & multiWorld .~ M.singleton DefaultRootSubworld (newWorld (WF $ const (fromEnum DirtT, Nothing))) ) -- | Runs numGameTicks ticks of the game. diff --git a/swarm.cabal b/swarm.cabal index 930e88c663..2a30ad8568 100644 --- a/swarm.cabal +++ b/swarm.cabal @@ -352,6 +352,7 @@ benchmark benchmark mtl, random, swarm, - text + text, + containers default-language: Haskell2010 ghc-options: -threaded