nondeterminism? Observable Yes No More declarative Less declarative Named state Unnamed state (seq. or conc.) (equality) + name + by−need synchronization + by−need synchronization + thread + continuation Lazy concurrent object−oriented Concurrent programming Shared−state concurrent programming Software transactional memory (STM) Sequential object−oriented programming Stateful functional programmin