Module type Swarm.SWARMMAKER


module type SWARMMAKER = functor (R : EXPOSURE) -> sig  end
Generic functor to create a module of type SWARM. Any implementation of a Swarm should have this signature.
Parameters:
R : Swarm.EXPOSURE


type projection
See Swarm.EXPOSURE.projection


type marker
See Swarm.EXPOSURE.marker


type submarker
See Swarm.EXPOSURE.submarker


type matchinghalf
See Swarm.EXPOSURE.matchinghalf


type splitmessage
See Swarm.EXPOSURE.splitmessage


type joinmessage
See Swarm.EXPOSURE.joinmessage


type matching = matchinghalf * matchinghalf
See Swarm.EXPOSURE.matching


type bindhalf
See Swarm.EXPOSURE.bindhalf


type 'a resident
The opaque type returned by the Swarm's shelter method to the harness to track specific residents.


type 'a bindholder
FIXME: ...

class type notifier_type = object  end
The notifier is used to communicate from the resident to the swarm.

type whichsplit =
| SplitFirst
| SplitSecond


type splitpart = projection ->
bindhalf ->
whichsplit * (projection * bindhalf)


type joinpart = whichsplit ->
projection ->
bindhalf -> projection * bindhalf

class type core = object  end
The type of a resident core.
class base_core : object  end
This class can be used as a base class for all residents.
class type [#core] t = object  end
The class of a Swarm object.
val make : unit -> #core t
Swarm constructor function.