在香草OCaml中,(or)
是一個二元函數就像(+)
和所有其它的,所以像這樣的代碼工作正常:爲什麼camlp4o無法解析(或)爲二元函數?
let any (truths:bool list) = List.fold_left (or) false truths
但在camlp4o加載任何環境中,失敗與解析:
Error: Parse error: ")" or "module" or [expr] expected after "(" (in [expr])
同時,(+)
另整數運算運營商繼續按預期在兩種環境:
let sum (nums:int list) = List.fold_left (+) 0 nums
這是爲什麼?這是camlp4o的限制還是bug?這發生在OCaml 3.12.1上(在OS X 10.7.4上,通過GODI引導新安裝)。