Skip to content

Commit 5fd464c

Browse files
committed
[#328] [studio-common] refactor to make explicit the subtraction in firing
1 parent f59814e commit 5fd464c

File tree

1 file changed

+4
-8
lines changed
  • studio-common/src/Data/Petrinet/Representation

1 file changed

+4
-8
lines changed

studio-common/src/Data/Petrinet/Representation/Dict.purs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,15 @@ import Data.Foldable (all)
2727
import Data.Map as Map
2828
import Data.Map (Map)
2929
import Data.Maybe (Maybe(..), fromMaybe)
30-
import Data.Monoid.Additive (Additive(..))
31-
import Data.Newtype (class Newtype, un, unwrap)
3230
import Data.Tuple.Nested (type (/\), (/\))
33-
import Data.Vec3 (Vec2D, Vec2)
34-
import Data.Ring hiding ((-)) -- take (-) from Group.inverse instead TODO why is Group not in Prelude? https://pursuit.purescript.org/packages/purescript-group
3531
import Data.Set as Set
3632
import Data.Group (class Group, ginverse)
3733

3834
-- TODO this dependency should probably be eliminated in favour of a type parameter
3935
import Data.Auth as Auth
4036
import Data.Petrinet.Representation.Marking as Marking
4137
import Data.Petrinet.Representation.Marking (MarkingF, tokensAt)
42-
import Data.Petrinet.Representation.Layout
38+
import Data.Petrinet.Representation.Layout (NetLayoutF, NetLayoutFRow, bounds, mapVec2D)
4339

4440
-- | A representation of a Petri net with some additional labelings and metadata.
4541
type NetRepF pid tid tok typ r =
@@ -114,8 +110,8 @@ type PlaceMarkingF p tok =
114110
fromPlaceMarking :: a b. PlaceMarkingF a b -> a /\ b
115111
fromPlaceMarking pm = pm.place /\ pm.tokens
116112

117-
preMarking :: p tok. Ord p => Group (MarkingF p tok) => TransitionF p tok -> MarkingF p tok
118-
preMarking tr = ginverse (trMarking tr.pre)
113+
preMarking :: p tok. Ord p => TransitionF p tok -> MarkingF p tok
114+
preMarking tr = trMarking tr.pre
119115

120116
postMarking :: p tok. Ord p => TransitionF p tok -> MarkingF p tok
121117
postMarking tr = trMarking tr.post
@@ -144,7 +140,7 @@ fireAtMarking
144140
-> TransitionF p tok
145141
-> MarkingF p tok
146142
fireAtMarking marking t =
147-
preMarking t <> marking <> postMarking t
143+
(ginverse $ preMarking t) <> marking <> postMarking t
148144

149145
--------------------------------------------------------------------------------
150146

0 commit comments

Comments
 (0)