Short-circuit Evaluation - Support in Common Programming Languages

Support in Common Programming Languages

Boolean operators in various languages
Language Eager operators Short-circuit operators Result type
ABAP none and, or Boolean1
Ada, Eiffel and, or and then, or else Boolean
ALGOL 68 and, &, ∧ ; or, ∨ andf, orf (both user defined) Boolean
C2 none &&, ||, ? Numeric (&&,||), opnd-dependent (?)
C++3 &, | &&, ||, ? Boolean (&&,||), opnd-dependent (?)
Go, OCaml, Haskell none &&, || Boolean
C#, Java,

MATLAB R

&, | &&, || Boolean
ColdFusion none AND, OR, &&, || Boolean
Erlang and, or andalso, orelse Boolean
Fortran .and., .or. Boolean
JavaScript none &&, || Last value
Lisp, Lua, Scheme none and, or Last value
Lasso none and, or, &&, || Last value
Modula-2 none AND, OR Boolean
Oberon none &, OR Boolean
Pascal and, or4 and_then, or_else5 Boolean
Perl, Ruby &, | &&, and, ||, or Last value
PHP none &&, and, ||, or Boolean
Python none and, or Last value
Smalltalk &, | and:, or: Boolean
Standard ML Unknown andalso, orelse Boolean
Visual Basic .NET And, Or AndAlso, OrElse Boolean
VB Script, VB Classic, VBA And, Or Select Case Numeric

1 ABAP does not actually have a distinct boolean type.
2 C, before C99, did not actually have a distinct boolean type; logical operators returned 0 (for false) or 1 (for true).
3 When overloaded, operators && and || are eager and can return any type.
4 ISO Pascal allows but does not require short-circuiting.
5 ISO-10206 Extended Pascal supports and_then and or_else.

Read more about this topic:  Short-circuit Evaluation

Famous quotes containing the words support, common, programming and/or languages:

    Can you support the expense of a husband, hussy, in gaming, drinking and whoring? Have you money enough to carry on the daily quarrels of man and wife about who shall squander most?
    John Gay (1685–1732)

    The world is but a perennial movement. All things in it are in constant motion—the earth, the rocks of the Caucasus, the pyramids of Egypt—both with the common motion and with their own.
    Michel de Montaigne (1533–1592)

    If there is a price to pay for the privilege of spending the early years of child rearing in the driver’s seat, it is our reluctance, our inability, to tolerate being demoted to the backseat. Spurred by our success in programming our children during the preschool years, we may find it difficult to forgo in later states the level of control that once afforded us so much satisfaction.
    Melinda M. Marshall (20th century)

    The less sophisticated of my forbears avoided foreigners at all costs, for the very good reason that, in their circles, speaking in tongues was commonly a prelude to snake handling. The more tolerant among us regarded foreign languages as a kind of speech impediment that could be overcome by willpower.
    Barbara Ehrenreich (b. 1941)