The root mimic of all the conditions in the system.

Mimics
Inactive cells
Active cells
Specs
Inactive cells (details)
kind = "Condition"
Active cells (details)
ignore(...)

takes one or two pices of code. runs the first code segment and returns nil if it signals an the receiver. If a second argument of code is given, evaluates this only when an error is encountered and uses the result to return. if everything works as expected, ignore will just return the result of the first evaluation

macro(
  argCount = call arguments length 
  cond(
    argCount ==(
      1), 
    
    protectedCode = call arguments [](
        0) 
    
    bind(rescue(self, fn(c, nil)), 
      protectedCode evaluateOn(call ground, call ground)), 
    argCount ==(
      2), 
    
    protectedCode = call arguments [](
        0) 
    otherwiseCode = call arguments [](
        1) 
    
    bind(rescue(self, fn(c, otherwiseCode evaluateOn(call ground, call ground))), 
      protectedCode evaluateOn(call ground, call ground)), 
    error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) 
  )
report()

default implementation of reporting that only prints the name of the condition, and a stack trace

method(
  "#{self text} (#{self kind})

#{context stackTraceAsText}")