diff --git a/src/MA/Algorithm/Types.hs b/src/MA/Algorithm/Types.hs index 19132720b506a52d5173b4f4f99cb513e13a6bb8..f7c49bb496ec7d52a5e793f00511bb10e450db0f 100644 --- a/src/MA/Algorithm/Types.hs +++ b/src/MA/Algorithm/Types.hs @@ -24,12 +24,12 @@ import Data.RefinablePartition ( RefinablePartition ) import MA.Coalgebra.RefinementTypes data AlgoState s h = AlgoState - { toSub :: MVector s [EdgeRef] - , lastW :: MVector s (STRef s (Weight h)) - , encoding :: Encoding (Label h) (H1 h) - , pred :: Vector [EdgeRef] - , partition :: RefinablePartition s - , h3Cache :: MVector s (H3 h) + { toSub :: {-# UNPACK #-} (MVector s [EdgeRef]) + , lastW :: {-# UNPACK #-} (MVector s (STRef s (Weight h))) + , encoding :: {-# UNPACK #-} (Encoding (Label h) (H1 h)) + , pred :: {-# UNPACK #-} (Vector [EdgeRef]) + , partition :: {-# UNPACK #-} (RefinablePartition s) + , h3Cache :: {-# UNPACK #-} (MVector s (H3 h)) } makeLensesFor