[add pure supply value creating routine
John Meacham <john@repetae.net>**20060125082426] hunk ./Fixer/Fixer.hs 17
+    ioValue,
hunk ./Fixer/Fixer.hs 65
-data Value a = UnionValue (Value a) (Value a) | ConstValue a | IV (RvValue a)
+data Value a = IOValue (IO (Value a)) | UnionValue (Value a) (Value a) | ConstValue a | IV (RvValue a)
hunk ./Fixer/Fixer.hs 71
+    showsPrec _ (IOValue _) = showString "<<IO>>"
hunk ./Fixer/Fixer.hs 96
+-- | mainly for internal use
+ioValue :: IO (Value a) -> Value a
+ioValue iov = IOValue iov
+
hunk ./Fixer/Fixer.hs 116
+addAction (IOValue v) act = v >>= (`addAction` act)
hunk ./Fixer/Fixer.hs 135
+modifiedSuperSetOf (IOValue iov) v2 r = Rule $ iov >>= \v1 -> unRule $ modifiedSuperSetOf v1 v2 r
hunk ./Fixer/Fixer.hs 142
+(IOValue iov) `isSuperSetOf` v2 = Rule $ iov >>= unRule . (`isSuperSetOf` v2)
hunk ./Fixer/Fixer.hs 163
+readValue (IOValue iov) = liftIO iov >>= readValue
hunk ./Fixer/Supply.hs 5
+    sValue,
hunk ./Fixer/Supply.hs 37
+sValue :: (Ord b, Fixable a) => Supply b a -> b -> (Value a)
+sValue s b = ioValue (supplyValue s b)
+