@@ -43,7 +43,7 @@ type Key = String
4343type FamilyName = String
4444type FamilyNum = Int
4545
46- newtype NumberedFamily = NumberedFamily Int deriving newtype (Show , Eq )
46+ newtype NumberedFamily = NumberedFamily Int deriving newtype (Show , Eq , Read )
4747allNumberedFamilies = NumberedFamily <$> [1 .. 9 ]
4848instance Family NumberedFamily where
4949 fName = show
@@ -112,7 +112,7 @@ currentFamily = fromMaybeM (pure $ head allFamilies) $ runMaybeT $ do
112112 ws <- MaybeT logCurrent
113113 MaybeT $ pure $ find (`hasWorkspace` ws) allFamilies
114114
115- newtype FamilyMember = FamilyMember Int deriving newtype (Show )
115+ newtype FamilyMember = FamilyMember Int deriving newtype (Show , Read )
116116allFamilyMembers = FamilyMember <$> [1 .. 9 ]
117117instance Node FamilyMember where
118118 workspaceID m = currentFamily <&> (`idWithMember` m)
@@ -145,13 +145,15 @@ instance Semigroup WsEffect where
145145
146146type FamilyOrder = Int -- zero based
147147newtype OrderedNumFamilies = OrderedNumFamilies [NumberedFamily ]
148- deriving newtype (Show )
148+ deriving newtype (Show , Read )
149149instance ExtensionClass OrderedNumFamilies where
150150 initialValue = OrderedNumFamilies allNumberedFamilies
151+ extensionType = PersistentExtension
151152
152- newtype FamilyStore = FamilyStore (HashMap FamilyName FamilyMember )
153+ newtype FamilyStore = FamilyStore (HashMap FamilyName FamilyMember ) deriving newtype ( Show , Read )
153154instance ExtensionClass FamilyStore where
154155 initialValue = FamilyStore $ M. fromList ((,FamilyMember 1 ) <$> allFamiliyNames)
156+ extensionType = PersistentExtension
155157
156158workspaceKeys' :: [([String ], X () )]
157159workspaceKeys' =
0 commit comments