  There is no known way of giving a domain-theoretic semantics to higher-order
probabilistic languages, in such a way that the involved domains are continuous
or quasi-continuous - the latter is required to do any serious mathematics. We
argue that the problem naturally disappears for languages with two kinds of
types, where one kind is interpreted in a Cartesian-closed category of
continuous dcpos, and the other is interpreted in a category that is closed
under the probabilistic powerdomain functor. Such a setting is provided by Paul
B. Levy's call-by-push-value paradigm. Following this insight, we define a
call-by-push-value language, with probabilistic choice sitting inside the value
types, and where conversion from a value type to a computation type involves
demonic non-determinism. We give both a domain-theoretic semantics and an
operational semantics for the resulting language, and we show that they are
sound and adequate. With the addition of statistical termination testers and
parallel if, we show that the language is even fully abstract - and those two
primitives are required for that.
