Smalltalk
Smalltalk is an object-oriented, dynamically typed reflective programming language.
If Statement
In Smalltalk, booleans (True/False) are objects (instances of the abstract
Boolean class). Every boolean has the type True or False, and no instance
data; it also has the ifTrue: and ifFalse: functions. Those functions take a
block of code as input. True overrides the ifTrue: function so that it
always runs the code provied as input while ifFalse: does nothing. The same
goes for False which overrides these two functions, but in reverse.
What other languages do with special syntax, Smalltalk does as a special case of method dispatching.