Evaluación de cortocircuito
La evaluación de cortocircuito, evaluación mínima, o evaluación McCarthy (por el científico John McCarthy) denota la semántica de algunos operadores booleanos en algunos lenguajes de programación en los cuales el segundo argumento solo se ejecuta o se valúa si el primer argumento de la función AND evalúa y el resultado es falso, el valor total tiene que ser falso; y cuando el primer argumento de la función OR evalúa y el resultado es verdadero, el valor total tiene que ser verdadero. En algunos lenguajes de programación, como Lisp, los operadores booleanos usuales son cortocircuito. En otros (Java, Ada), tanto los cortocircuito y los operadores booleanos están disponibles. Para algunos operadores booleanos, como XOR, no le es posible hacer cortocircuito, porque ambos operadores están obligados a determinar el resultado.La expresión de cortocircuito x Sand y (usando Sand para denotar la variedad de corto-circuito) es equivalente a la sentencia condicional if x then y else false; la expresión x Sor y es equivalente a if x then true else y.Los operadores cortocircuito son estructuras de control en vez de simples operadores aritméticos, al igual que no son strict. ALGOL 68 usó ""Proceduring"" para lograr operadores y procedimientos de cortocircuito definidos por los usuarios.En lenguajes aproximados o imprecisos, los cuales tienen más de dos valores de verdad Verdadero y Falso, los operadores cortocircuito podrían devolver la última subexpresión evaluada, de esta manera x Sor y y x Sand y son equivalentes a if x then x else y y if x then y else x respectivamente (sin evaluar x dos veces). Esto es llamado ""el último valor"" en la tabla de abajo.En lenguajes que emplean una evaluación perezosa por defecto, como Haskell, todas las funciones son efectivamente de ""cortocircuito"", y no son necesarios operadores especiales de cortocircuito.