actor model actor model theory carl hewitt communications of the acm indeterminacy keith clark lambda calculus logic programming mit press metastability in electronics prolog quantum computer randomized algorithm robert kowalski wikibooks