  The polarized SILL programming language uniformly integrates functional
programming and session-typed message-passing concurrency. It supports general
recursion, asynchronous and synchronous communication, and higher-order
programs that communicate channels and processes. We give polarized SILL a
domain-theoretic semantics---the first denotational semantics for a language
with this combination of features. Session types in polarized SILL denote pairs
of domains of unidirectional communications. Processes denote continuous
functions between these domains, and process composition is interpreted by a
trace operator. We illustrate our semantics by validating expected program
equivalences.
