ezyang’s blog

the arc of software bends towards understanding

Joseph and the Amazing Technicolor Box

Consider the following data type in Haskell: data Box a = B a How many computable functions of type Box a -> Box a are there? If we strictly use denotational semantics, there are seven: But if we furthermore distinguish the source of the bottom (a very operational notion), some functions with the same denotation […]

  • August 23, 2011