§ Conversation with Olaf Klinke
do you have reading you'd recommend to gain your viewpoint of
computation-as-topology-as-computation?
I am a topologist, a domain theorist to be more precise. I had the
privilege to meet many founders of this relatively young field of
mathematics. Domain theory is a denotational semantics (there are
others) of lambda calculus. For reading, there is the old testament and
the new testament, as I call it. The old testament is
"A compendium of continuous lattices"
ISBN 3-540-10111-X
ISBN 0-387-10111-X
The new testament is
"Continuous lattices and domains"
ISBN 0-521-80338-1
Domain theory makes sense once one stops disregarding bottom | , or
undefined. Think of domains as triangular objects, e.g. the type Bool
False True
\ /
_|_
How does one compute a real number? Think of a horizontal real
interval, and draw a triangle underneath:
---[---]---
\ \ / /
\ . /
\ /
\ /
_|_
Every point in the triangle represents a closed interval. At the top is
a copy of the real numbers in the form of singleton intervals, the
"total" elements. Every point underneath is a proper interval,
representing everything reachable by "fanning out" upward from that
point. This may be a model for e.g. interval arithmetic, where
computing a more precise result means moving up in the triangular
domain of intervals. Directed suprema (results of recursive
computations) in this domain are nested intersections of intervals.
Existence of these directed suprema is equivalent to the uniqueness and
non-emptyness of the nested intersections, which again is guaranteed by
the two topological properties "Hausfdorff" and "compactness" of the
closed real interval.
A treasure trove of smart little Haskell programs is
Martín Escardó's so-called Barbados notes, number 46 in https://www.cs.bham.ac.uk/~mhe/papers/index.html