module World where import Objects import Basics import Env data World = World {worldObjects :: [Object], worldLights :: [Light], worldEnv :: Env} deriving Show world :: [ProtoObject] -> [Light] -> Env -> World world os = World (zipWith ($) (map fromProto os) [1..])