true is an oddball object that always represents itself. It can not be mimicked and represents the a true value.

Mimics
Inactive cells
Active cells
Specs
true false?
  • - should return false [ show source ]
    true false? should be false 
    x = true 
    x false? should be false 
    
    
true true?
  • - should return true [ show source ]
    true true? should be true 
    x = true 
    x true? should be true 
    
    
Inactive cells (details)
inspect = "true"
kind = "true"
notice = "true"
Active cells (details)
&&(...)

nil

macro(
  call argAt(0))
true &&
  • - should evaluate it's argument [ show source ]
    x = 41 
    true &&(x = 42) 
    x should ==(42) 
    
    
  • - should return the result of the argument [ show source ]
    (true &&(42)) should ==(42) 
    
    
  • - should be available in infix [ show source ]
    (true &&(43)) should ==(43) 
    
    
?&(...)

nil

macro(
  call argAt(0))
true ?&
  • - should evaluate it's argument [ show source ]
    x = 41 
    true ?&(x = 42) 
    x should ==(42) 
    
    
  • - should return the result of the argument [ show source ]
    (true ?&(42)) should ==(42) 
    
    
  • - should be available in infix [ show source ]
    (true ?&(43)) should ==(43) 
    
    
?|(...)

nil

macro(
  true)
true ?|
  • - should not evaluate it's argument [ show source ]
    x = 41 
    true ?|(x = 42) 
    x should ==(41) 
    
    
  • - should return true [ show source ]
    (true ?|(42)) should be true 
    
    
  • - should be available in infix [ show source ]
    (true ?|(43)) should be true 
    
    
and(...)

Evaluates the argument and returns the result

macro(
  call argAt(0))
true and
  • - should evaluate it's argument [ show source ]
    x = 41 
    true and(x = 42) 
    x should ==(42) 
    
    
  • - should complain if no argument is given [ show source ]
    fn(true and) should signal(Condition Error Index) 
    
    
  • - should return the result of the argument [ show source ]
    (true and(42)) should ==(42) 
    
    
  • - should be available in infix [ show source ]
    (true and(43)) should ==(43) 
    
    
ifFalse(...)

Does not evaluate argument and returns true

macro(
  argCount = call arguments length 
  cond(
    argCount ==(
      1), 
    
    then = call arguments [](
        0) 
    
    @, 
    error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) 
  )
true ifFalse
  • - should not execute it's argument [ show source ]
    x = 41 
    true ifFalse(x = 42) 
    x should ==(41) 
    
    
  • - should return true [ show source ]
    true ifFalse(x = 42) should be true 
    
    
ifTrue(...)

Evaluates the argument and returns true

macro(
  argCount = call arguments length 
  cond(
    argCount ==(
      1), 
    
    then = call argAt(
        0) 
    
    @, 
    error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) 
  )
true ifTrue
  • - should execute it's argument [ show source ]
    x = 41 
    true ifTrue(x = 42) 
    x should ==(42) 
    
    
  • - should return true [ show source ]
    true ifTrue(x = 42) should be true 
    
    
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)) 
  )
true nand
  • - should evaluate it's argument [ show source ]
    x = 41 
    true nand(x = 42) 
    x should ==(42) 
    
    
  • - should complain if no argument is given [ show source ]
    fn(true nand) should signal(Condition Error Invocation NoMatch) 
    
    
  • - should return false if the argument evaluates to true [ show source ]
    (true nand(42)) should be false 
    
    
  • - should return true if the argument evaluates to false [ show source ]
    (true nand(false)) should be true 
    
    
  • - should return true if the argument evaluates to nil [ show source ]
    (true nand(nil)) should be true 
    
    
  • - should be available in infix [ show source ]
    (true nand(43)) should be 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)) 
  )
true nor
  • - should not evaluate it's argument [ show source ]
    x = 41 
    true nor(x = 42) 
    x should ==(41) 
    
    
  • - should return false [ show source ]
    (true nor(42)) should be false 
    
    
  • - should be available in infix [ show source ]
    (true nor(43)) should be false 
    
    
not()

Does not evaluate arguments and returns false

method(
  false)
true not
  • - should return false [ show source ]
    true not should be false 
    x = true 
    x not should be false 
    
    
or(...)

Does not evaluate argument and returns true

macro(
  true)
true or
  • - should not evaluate it's argument [ show source ]
    x = 41 
    true or(x = 42) 
    x should ==(41) 
    
    
  • - should return true [ show source ]
    (true or(42)) should be true 
    
    
  • - should be available in infix [ show source ]
    (true or(43)) should be 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)) 
  )
true xor
  • - should evaluate it's argument [ show source ]
    x = 41 
    true xor(x = 42) 
    x should ==(42) 
    
    
  • - should complain if no argument is given [ show source ]
    fn(true xor) should signal(Condition Error Invocation NoMatch) 
    
    
  • - should return false if the argument is true [ show source ]
    (true xor(true)) should be false 
    
    
  • - should return true if the argument is false [ show source ]
    (true xor(false)) should be true 
    
    
  • - should return true if the argument is nil [ show source ]
    (true xor(nil)) should be true 
    
    
  • - should be available in infix [ show source ]
    (true xor(43)) should be false 
    
    
||(...)

nil

macro(
  true)
true ||
  • - should not evaluate it's argument [ show source ]
    x = 41 
    true ||(x = 42) 
    x should ==(41) 
    
    
  • - should return true [ show source ]
    (true ||(42)) should be true 
    
    
  • - should be available in infix [ show source ]
    (true ||(43)) should be true