1. [MIT] A portion of a program that is not
invoked explicitly, but that lies dormant waiting for some
condition(s) to occur. See daemon. The distinction is that
demons are usually processes within a program, while daemons are
usually programs running on an operating system. 2. [outside MIT]
Often used equivalently to daemon -- especially in the
Unix world, where the latter spelling and pronunciation is
considered mildly archaic.
Demons in sense 1 are particularly common in AI programs. For
example, a knowledge-manipulation program might implement inference
rules as demons. Whenever a new piece of knowledge was added,
various demons would activate (which demons depends on the
particular piece of data) and would create additional pieces of
knowledge by applying their respective inference rules to the
original piece. These new pieces could in turn activate more
demons as the inferences filtered down through chains of logic.
Meanwhile, the main program could continue with whatever its
primary task was.