Sistema de efectos
# Sistema de efectos

En informática, un sistema de efectos es un sistema formal que describe los efectos computacionales del software, como los efectos secundarios. Un sistema de efectos se puede utilizar para proporcionar una comprobación en tiempo de compilación de los posibles efectos del programa.

El sistema de efectos se extiende la noción de tipo a la de "efecto" del componente, que comprende un tipo de efecto y una región. El tipo de efecto describe que se está haciendo, y la región describe con que se está haciendo.

Un sistema de efectos es típicamente una extensión de un tipo de sistema. A menudo, un tipo de valor se denota junto con su efecto como: tipo ! efecto.

Un sistema de efectos puede ser usado para demostrar la pureza externa de ciertas definiciones internamente impuras: por ejemplo, si una función internamente asigna y modifica una región de memoria, pero el tipo de la función no menciona la región, entonces ese efecto puede ser borrado del efecto de dicha función.

Algunos ejemplos de las conductas que pueden ser descritos por sistemas de efectos incluyen:

* La lectura, la escritura o la asignación de memoria.
* Trabajar con recursos, como archivos.
* Transferencias de control con continuaciones y saltos largos.
* Excepciones verificadas de Java.
