DefaultBehavior is a mixin that provides most of the methods shared by most instances in the system.

Mimics
Inactive cells
Active cells
Specs
Inactive cells (details)
kind = "DefaultBehavior"
Active cells (details)
cellDescriptionDict()

returns a dict containing each cell and it's corresponding description

method(
  cellNames = cell(:self) cellNames sort 
  cellDescs = cellNames map(name, cell(:self) cell(name) notice) 
  {} addKeysAndValues(cellNames, cellDescs))
cellSummary()

returns a representation of the current object that includes information about it's cells

method(
  cellDescriptions = cellDescriptionDict 
  vals = cellDescriptions keys sort map(k, list(k, cellDescriptions [](k))) 
  " #{cell(:self) notice}:
%*[  %-28s = %s\n%]" format(vals))
genSym()

returns a new, unique symbol every time called. The symbol will be quite unreadable, and uses a closure to generate a new number every time that is independent from external state.

fnx(
  :("#<GS#{++(n)}>"))
inspect()

returns a longer description of the receiver, in general including cell information

method(
  cellSummary)
notice()

returns a short text description of the receiver

method(
  if(currentMessage Origin ==(cell(:self)), 
    "Origin", 
    if(currentMessage Ground ==(cell(:self)), 
      "Ground", 
      "#{cell(:self) kind}_#{cell(:self) uniqueHexId}" 
      )))
use(module nil)

takes one or more evaluated string argument. will import the files corresponding to each of the strings named based on the Ioke loading behavior that can be found in the documentation for the loadBehavior cell on System.

method(module nil, 
  unless(module, 
    return(DefaultBehavior cell(:use)), 
    System lowLevelLoad!(module, false)))