5 data Binding // Private
6 class Serializable a where
13 data ReadGraph // Private
14 class ReadTransaction where
17 resource :: ReadTransaction => String -> Resource
18 (#) :: ReadTransaction => Resource -> Resource -> [Resource]
19 valueOf :: ReadTransaction => Serializable a => Resource -> a
24 data WriteGraph // Private
25 data Graph a = Graph (WriteGraph -> a)
27 instance Monad Graph where
28 return x = Graph (\_ -> x)
29 Graph g >>= f = \wg -> f (g wg) wg
30 map f (Graph g) = Graph (f . g)
32 newResource :: Graph Resource
33 newResource = Graph __WriteGraph_newResource
34 newLiteral :: Serializable a => a -> Graph Resource
35 newLiteral = Graph (\wg ->
36 literal = __WriteGraph_newResource wg
37 _ = __WriteGraph_claimValue wg literal a getBinding
40 statement :: Resource -> Resource -> Resource -> Graph ()
41 statement s p o = Graph (\wg -> __WriteGraph_claim wg s p o)