考慮下面的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專家