Smalltalk has unary and binary operators, and adds "keyword" operators of the form "o1 foo: o2 bar: o3", read "foo colon bar colon", and that have two or more operands. In fact, the language has no built-in conditional, using keyword operators in expressions like "boolObject ifTrue: closureObject1 ifFalse: closureObject2" instead.
Smalltalk has unary and binary operators, and adds "keyword" operators of the form "o1 foo: o2 bar: o3", read "foo colon bar colon", and that have two or more operands. In fact, the language has no built-in conditional, using keyword operators in expressions like "boolObject ifTrue: closureObject1 ifFalse: closureObject2" instead.