From e93e30bb68ee0c9f3f2aea593155c1fa4db23ae4 Mon Sep 17 00:00:00 2001 From: Erik Post Date: Wed, 5 Feb 2020 22:01:55 +0100 Subject: [PATCH] [#328] [stbx-proto] Don't depend on halogen-petrinet-editor for type Marking. --- stbx-protocol/spago.dhall | 6 +----- stbx-protocol/src/Statebox/Protocol/ExecutionState.purs | 7 ++++++- stbx-protocol/src/Statebox/Protocol/Fire.purs | 8 ++++++-- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/stbx-protocol/spago.dhall b/stbx-protocol/spago.dhall index a1bbeec0..1bedecd1 100644 --- a/stbx-protocol/spago.dhall +++ b/stbx-protocol/spago.dhall @@ -3,11 +3,7 @@ , name = "stbx-protocol" , dependencies = - [ "halogen-petrinet-editor" - , "stbx-core" - , "stbx-tx-store" - , "studio-common" - ] + [ "stbx-core", "studio-common", "stbx-tx-store" ] , packages = ./../packages.dhall } diff --git a/stbx-protocol/src/Statebox/Protocol/ExecutionState.purs b/stbx-protocol/src/Statebox/Protocol/ExecutionState.purs index 22568657..07d4895d 100644 --- a/stbx-protocol/src/Statebox/Protocol/ExecutionState.purs +++ b/stbx-protocol/src/Statebox/Protocol/ExecutionState.purs @@ -1,10 +1,15 @@ module Statebox.Protocol.ExecutionState where import Statebox.Core.Transaction (TxId) -import View.Petrinet.Model (Marking) +import Statebox.Core.Types (PID) +import Data.Petrinet.Representation.Marking (MarkingF) type ExecutionState = { lastFiring :: TxId , wiring :: TxId , marking :: Marking } + +-- TODO dedupe +type Marking = MarkingF PID Tokens +type Tokens = Int diff --git a/stbx-protocol/src/Statebox/Protocol/Fire.purs b/stbx-protocol/src/Statebox/Protocol/Fire.purs index bbb603fb..ab02f051 100644 --- a/stbx-protocol/src/Statebox/Protocol/Fire.purs +++ b/stbx-protocol/src/Statebox/Protocol/Fire.purs @@ -8,10 +8,10 @@ import Data.Maybe (maybe) import Data.NonEmpty (head) import Data.Petrinet.Representation.Dict (fireAtMarking) +import Data.Petrinet.Representation.Marking (MarkingF) import Statebox.Core.Transition (gluedTokens) -import Statebox.Core.Types (Firing, Wiring) +import Statebox.Core.Types (Firing, Wiring, PID) import Statebox.Core.WiringTree (LinearizationError, fromWiring, linearize) -import View.Petrinet.Model (Marking) data FiringError @@ -42,3 +42,7 @@ fire wiring firing marking = maybe (index gluedTransitions transitionIndex)) (linearize wiringTree)) (fromWiring wiring) + +-- TODO dedupe +type Marking = MarkingF PID Tokens +type Tokens = Int