A striking bit of trivia (but OT to SQL) is that in Turing's "On Computable Numbers" [1] he treats a Turing Machine that halts as having a problem, whereas in basically every popular treatment a machine that halts is one that gives you an answer, and a machine that doesn't halt is one with a bug, like it entered an infinite loop. But his paper is the opposite (and doesn't use the word "halt" at all!):
If a computing machine never writes down more than a finite number of symbols
of the first kind it will be called circular. Otherwise it is said to be circle-free.
A machine will be circular if it reaches a configuration from which there is no possible
move, or if it goes on moving, and possibly printing symbols of the second kind,
but cannot print any more symbols of the first kind.
More relevantly, Codd's paper from ten years later [2] is even more interesting than the first one. Everyone focuses on the first half (discussing NULLs and outer joins) but the second half is way more interesting, and has never been implemented anywhere AFAIK. It sounds a lot like graph databases and queries that dynamically change structure based on querying the data catalog.Re relations containing relations, I was very surprised that C.J. Date is apparently okay with them. He is a perfect example of the disciple who is more zealous than the master, and has spent his career trying to remove NULLs and non-unique rows. But in page 17-18 of [3] he writes:
To repeat, any type whatsoever---apart from the two exceptions noted in the
section "Types" earlier---can be used as the basis for defining attributes of
relations. In particular, relation types can be used for this purpose. (So too can
tuple types.) Thus, attributes can be *relation valued*, meaning we can have relations
with attributes whose values are relations in turn.
Wow! Part of me wonders if he is really just compromising because relations-inside-relations is so useful for his goals in that book. I had to re-read that passage over and over to convince myself I wasn't misunderstanding.[0] https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf
[1] https://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf
[2] https://gertjans.home.xs4all.nl/usenet/microsoft.public.sqls...
[3] C.J. Date et al, Time and Relational Theory