考虑下面的SQL语句 select *
from A
inner join B on A.FK = B.PK
inner join C on A.FK = B.PK
这显然是不正确形成陈述。 C的连接使用B的连接条件。但是,这仍然运行。在这种情况下,口译员如何决定加入C?为什么这甚至是被允许的陈述?有没有任何情况下,像这样的东西是可取的?
我读过Dan Piponi在The Three Projections of Doctor Futamura上的优秀博客文章。在文章结尾处,他有一个附录,其中有Haskell中Futamura预测的证据。但是,我发现他的文章缺乏有关涉及语言的信息。为了使Futamura预测能够工作,专业人员必须具备哪些源语言,目标语言和对象语言?例如,如果我在Haskell中编写了一个Haskell到LLVM专家