Skip to content

Commit ef6450e

Browse files
authoredJan 17, 2020
Merge pull request #319 from statebox/execution-folding
stbx-core: Add 'enabledTransitionIds' function. #307
2 parents 2fcbba1 + 5bdfb7d commit ef6450e

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed
 

‎stbx-core/src/Statebox/Core/Execution.purs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module Statebox.Core.Execution where
22

33
import Prelude
4-
import Data.Array (index, (..))
4+
import Data.Array (index, (..), filter)
55
import Data.ArrayMultiset (ArrayMultiset)
66
import Data.Maybe (Maybe(..))
77
import Data.Newtype (unwrap)
@@ -158,6 +158,12 @@ transitionIds s = transitionIdsUpToAndIncluding (GluedTransitionId $ (transition
158158

159159
--------------------------------------------------------------------------------
160160

161+
-- TODO add 'glued' to name?
162+
enabledTransitionIds :: StbxObj -> Array GluedTransitionId
163+
enabledTransitionIds s = filter (enabled s <<< unwrap) (transitionIds s)
164+
165+
--------------------------------------------------------------------------------
166+
161167
-- What is called 'firing' here is really static info about a glued transition.
162168

163169
-- TODO Is it inefficient not to cache these?

0 commit comments

Comments
 (0)