Module type Swarm.SWARM


module type SWARM = sig  end
The signature of modules used to define Swarm objects. If M is a module of type SWARM, then M.t is a Swarm. Also contains the definitions for the residents and the resident cores.


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.