提交補丁並等待INRIA合併需要很長時間,我的工作總是延遲。所以我做了camlp4的一個分支。但每次我做了一點改動,我都需要編譯整個編譯器,這需要很長時間。你最好的做法是什麼? (很抱歉,如果我犯了一個愚蠢的錯誤)補丁camlp4的最佳做法?
(我認爲分支camlp4是比較安全的,至少,你放心二進制兼容)
提交補丁並等待INRIA合併需要很長時間,我的工作總是延遲。所以我做了camlp4的一個分支。但每次我做了一點改動,我都需要編譯整個編譯器,這需要很長時間。你最好的做法是什麼? (很抱歉,如果我犯了一個愚蠢的錯誤)補丁camlp4的最佳做法?
(我認爲分支camlp4是比較安全的,至少,你放心二進制兼容)
我不明白爲什麼你需要「使整個編譯器」 ;你應該能夠重新編譯剛剛改變的部分,即Camlp4。 make camlp4out
(或camlp4opt
)應該足夠了。
您在012amOCaml錯誤跟蹤器將Camlp4從OCaml發行版分離。無論如何,如果你仍然保持一個叉子,爲什麼你不嘗試這樣做在你身邊?我的意思是你可以維護一個移除Camlp4的OCaml補丁(...但仍然可以工作,這可能不像看起來那麼容易,但是如果你已經準備好攻破Camlp4,那麼你仍然是硬頸的),還有一個單獨分發Camlp4;這將解決你的問題 - 你仍然需要在ocaml-without-camlp4分支中合併OCaml中繼開發。
最後,你有沒有考慮過與傑雷米迪米諾討論這個問題?他是Camlp4的當前維護者(與其他OCaml貢獻者一樣在空閒時間工作),他可能是一個很好的人聯繫這些問題。
謝謝。我做了camlp4out,但makefile似乎不是smart.make camlp4out仍然需要一些時間。 https://bitbucket.org/HongboZhang/ocaml/src – bobzhang
INRIA以外的人有可能做出貢獻嗎? – bobzhang
是的,就我所知,Camlp4的維護者Jérémie並不是INRIA。任何人都可以自由地在bugtracker上提交補丁,如果維護者喜歡它,它可以進入。這就是說,Camlp4的變化,特別是雄心勃勃的和/或兼容性突破性的變化,肯定會有一個艱難的生活。您需要像在任何軟件項目中一樣討論這個問題。 – gasche