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:

    Universal suffrage should rest upon universal education. To this end, liberal and permanent provision should be made for the support of free schools by the State governments, and, if need be, supplemented by legitimate aid from national authority.
    Rutherford Birchard Hayes (1822–1893)

    Our passions do not live apart in locked chambers but dress in their small wardrobe of notions, bring their provisions to a common table and mess together, feeding out of the common store according to their appetite.
    George Eliot [Mary Ann (or Marian)

    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)

    It is time for dead languages to be quiet.
    Natalie Clifford Barney (1876–1972)