diff --git a/src/syndicate.nim b/src/syndicate.nim index 928d7dd..cbf1fee 100644 --- a/src/syndicate.nim +++ b/src/syndicate.nim @@ -30,9 +30,9 @@ import ./syndicate/[actors, dataspaces, durings, patterns] from ./syndicate/relays import connectStdio, connectUnix -export Assertion, Facet, Handle, Ref, Symbol, Turn, TurnAction, bootDataspace, - `$`, `?`, connectStdio, connectUnix, drop, facet, grab, message, publish, - retract, replace, run, stop, unembed +export Assertion, Facet, Handle, Ref, Symbol, Turn, TurnAction, `$`, `?`, + bootDataspace, connectStdio, connectUnix, drop, facet, grab, message, + newDataspace, publish, retract, replace, run, stop, unembed proc `?`*(T: static typedesc): Pattern = ## Construct a `Pattern` from type `T`. diff --git a/src/syndicate/dataspaces.nim b/src/syndicate/dataspaces.nim index 3e14029..809467f 100644 --- a/src/syndicate/dataspaces.nim +++ b/src/syndicate/dataspaces.nim @@ -42,3 +42,6 @@ proc bootDataspace*(name: string; bootProc: BootProc): Actor {.discardable.} = discard turn.facet.preventInertCheck() let ds = newRef(turn, Dataspace(index: initIndex())) bootProc(ds, turn) + +proc newDataspace*(turn: var Turn): Ref = + newRef(turn, Dataspace(index: initIndex()))