From f4443882ac3dad333a4a80468f61f156f5adb6d5 Mon Sep 17 00:00:00 2001 From: Marc Sunet Date: Sun, 2 Sep 2012 11:28:53 +0200 Subject: Added query --- Spear/Scene/Scene.hs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Spear/Scene/Scene.hs b/Spear/Scene/Scene.hs index b58c149..57a9a40 100644 --- a/Spear/Scene/Scene.hs +++ b/Spear/Scene/Scene.hs @@ -10,6 +10,7 @@ module Spear.Scene.Scene , Spear.Scene.Scene.filter -- * Queries , find +, query -- * Update and render , update , updateM @@ -75,6 +76,11 @@ find :: (obj -> Bool) -> Scene obj -> Maybe obj find pred (scene@ListScene {}) = L.find pred $ objects scene +-- | Return all objects that satisfy the given predicate. +query :: (obj -> Bool) -> Scene obj -> [obj] +query pred (scene@ListScene {}) = L.filter pred $ objects scene + + type Update obj = obj -> obj -- cgit v1.2.3