invertedOperators | = | {∈: 12, :"::" => 12, :":::" => 12, ∉: 12} |
Mimics
Inactive cells
Active cells
Specs
Inactive cells (details)
operators | = | {~: 0, :"|>>" => 12, and: 13, :"+>" => 12, ∪: 3, ≥: 5, ⊆: 5, :"+" => 3, #>: 12, />: 12, or: 13, :"<-" => 14, :"+>>" => 12, ∩: 3, :"=>>" => 12, ^>>: 12, :"||>>" => 12, :"<=>" => 5, :"!=" => 6, $>>: 12, :"?&" => 10, :"==" => 6, **: 1, :"!" => 0, /: 2, ?>>: 12, :"-" => 3, ∘: 12, ⊃: 5, :">=" => 5, $: 0, :"<=" => 5, :"->" => 12, :"&>>" => 12, %>>: 12, />>: 12, <: 5, ~>>: 12, :"->>" => 12, :"&&>>" => 12, return: 14, >>: 4, <>: 5, :"..." => 12, :"|" => 9, *>: 12, :"!>>" => 12, :"|>" => 12, :"=>" => 12, **>: 12, :"=~" => 6, :"&" => 7, ⊇: 5, @>: 12, ^: 8, nor: 13, ≤: 5, *: 2, nand: 13, import: 14, <<: 4, ~>: 12, :"&&>" => 12, @>>: 12, %: 2, :"<->" => 12, #: 0, xor: 13, >: 5, *>>: 12, ?>: 12, :".." => 12, ≠: 6, :"===" => 6, <>>: 5, :"||" => 11, **>>: 12, #>>: 12, %>: 12, :"!~" => 6, ^>: 12, :"?|" => 11, ?: 0, :"!>" => 12, ⊂: 5, $>: 12, :"||>" => 12, :"&&" => 10, :"&>" => 12} |
trinaryOperators | = | {:"-=" => 2, :">>=" => 2, :"&&=" => 2, :"%=" => 2, :"&=" => 2, :"/=" => 2, :"<<=" => 2, :"**=" => 2, :"=" => 2, :"*=" => 2, :"+=" => 2, :"++" => 1, :"^=" => 2, :"--" => 1, :"|=" => 2, :"||=" => 2} |
Active cells (details)
temporarily adds a new inverted operator with the specified associativity, and then removes it again. if the operator is already in there, changes the associativity temporarily
[ show source ]
macro( argCount = call arguments length cond( argCount ==( 3), name = call argAt( 0) assoc = call argAt( 1) code = call arguments []( 2) if(name mimics?(Text), name = :(name)) let(Message OperatorTable invertedOperators, Message OperatorTable invertedOperators merge(name =>(assoc)), code evaluateOn(call ground, call ground)), error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) )
temporarily adds a new operator with the specified associativity, and then removes it again. if the operator is already in there, changes the associativity temporarily
[ show source ]
macro( argCount = call arguments length cond( argCount ==( 3), name = call argAt( 0) assoc = call argAt( 1) code = call arguments []( 2) if(name mimics?(Text), name = :(name)) let(Message OperatorTable operators, Message OperatorTable operators merge(name =>(assoc)), code evaluateOn(call ground, call ground)), error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) )
temporarily adds a new trinary operator with the specified associativity, and then removes it again. if the operator is already in there, changes the associativity temporarily
[ show source ]
macro( argCount = call arguments length cond( argCount ==( 3), name = call argAt( 0) assoc = call argAt( 1) code = call arguments []( 2) if(name mimics?(Text), name = :(name)) let(Message OperatorTable trinaryOperators, Message OperatorTable trinaryOperators merge(name =>(assoc)), code evaluateOn(call ground, call ground)), error!(Condition Error Invocation NoMatch, message: call message, context: call currentContext)) )