This is an old revision of the document!


dumping everything about proximities here

Proximity is a filter object that contains a “function” that determine whether or not a user is proximate. There are several predefined functions:

  • isNearby: physical proximity
  • isFriend: static encoding of friendship relationships
  • doesProfileMatch: tests an attribute of a user’s profile, form ATTR OP VAL, where ATTR is e.g. age, name, gender, hobbies,

Other functions can be defined as combinations of existing functions by means or combinators: and, or, not

Proximities translate these events into addUser / removeUser events to be processed by flocks. To process these events, flocks register themselves on their dependent proximity.

As a first implementation of the RETE-network, maybe we can start from the oo matching that Tom implemented, so that Proximity functions are templates. For example:

def flockrTemplate := template: {
  def name := *; // wildcard, can be anything
  def age := constraint: { _ < 25 }; // must be younger than 25
  def address := template: {
    def street := *; //any street,but street name must be filled
    def city := "Brussel"; // city must equal this string
  def greet(); // person must have a greet method
} taggedAs: [ Flockr ]; // object must be tagged as a Flockr
uf/proximities.1220539591.txt.gz · Last modified: 2008/09/05 11:28 by elisag
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki