KRL Rulesets execute inside a persistent compute object, or pico

While rulesets are the primary organizing feature of KRL, you cannot program KRL without understanding picos. 

Picos are:

Picos provides a number of important services that create the execution environment for rules:

  1. Identity—picos represent a specific entity and KRL rulesets execute within the context of that identity
  2. Storage—picos persistently encapsulate both structured and unstructured data
  3. Open event network—picos provide an event network:
    1. As rulesets are installed and uninstalled, the salience of an event for different rules in the ruleset is automatically recorded. 
    2. The salience graph is used to automatically route events and schedule rules for execution
  4. Processing—picos run a unique set of rules based on the rulesets that have been installed
  5. Event Channels—picos have communication channels that connect them to other picos and external programs
  6. Authorization—picos manage authorization and access control for rulesets.