contains behavior related to boolean behavior

Mimics
Inactive cells
Active cells
Specs
Inactive cells (details)
inspect = "DefaultBehavior Boolean"
kind = "DefaultBehavior Boolean"
notice = "DefaultBehavior Boolean"
Active cells (details)
!(arg)

returns true if the argument is false, and false if it's true

method(arg, 
  arg not)
&&(...)

Evaluates the argument and returns the result

macro(
  argCount = call arguments length 
  if(
    argCount ==(
      1), 
    
    then = call argAt(
        0) 
    
    then, 
    error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) 
  )
-(obj)

returns the negation of the argument

method(obj, 
  obj negation)
?&(...)

Evaluates the argument and returns the result

macro(
  argCount = call arguments length 
  cond(
    argCount ==(
      1), 
    
    then = call argAt(
        0) 
    
    then, 
    error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) 
  )
?|(...)

Does not evaluate argument and returns self

macro(
  argCount = call arguments length 
  cond(
    argCount ==(
      1), 
    
    then = call arguments [](
        0) 
    
    @, 
    error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) 
  )
and(...)

Evaluates the argument and returns the result

macro(
  argCount = call arguments length 
  cond(
    argCount ==(
      1), 
    
    then = call argAt(
        0) 
    
    then, 
    error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) 
  )
false?()

returns false.

method(
  false)
nand(...)

Evaluates its argument and returns the inverse of it

macro(
  argCount = call arguments length 
  cond(
    argCount ==(
      1), 
    
    other = call argAt(
        0) 
    
    if(other, false, true), 
    error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) 
  )
nil?()

returns false.

method(
  false)
nor(...)

Does not evaluate its argument and returns false

macro(
  argCount = call arguments length 
  cond(
    argCount ==(
      1), 
    
    other = call arguments [](
        0) 
    
    false, 
    error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) 
  )
not()

Does not evaluate arguments and returns nil

method(
  nil)
or(...)

Does not evaluate argument and returns self

macro(
  argCount = call arguments length 
  cond(
    argCount ==(
      1), 
    
    then = call arguments [](
        0) 
    
    @, 
    error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) 
  )
true?()

returns true

method(
  true)
xor(...)

Evaluates the argument and returns the inverse of the argument

macro(
  argCount = call arguments length 
  cond(
    argCount ==(
      1), 
    
    then = call argAt(
        0) 
    
    if(then, false, true), 
    error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) 
  )
||(...)

Does not evaluate argument and returns self

macro(
  argCount = call arguments length 
  if(
    argCount ==(
      1), 
    
    then = call arguments [](
        0) 
    
    @, 
    error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) 
  )