看板 java 關於我們 聯絡資訊
※ 引述《godfat (godfat 真常)》之銘言: : 1. 如果一個 expression 的 return value 沒被用上,則可以從程式中 : 完全移除,也是就是完全不呼叫。 這個有點難,像是 "印 debug 訊息" (這算 Statement? ) :QQ : 2. referential transparency. 即 if x == y then f(x) == f(y) f(x) = random 0..x 的話? : 例如以上面的例子而言,如果 process1 和 process2 都不會動到 : java-object 本身的 state, 也不會動到任何共享的 state, : 則 process1 和 process2 可以在有 side-effect 之下, : 卻仍然保有上述的 2, 3 點性質。 這很難,Java Object 內含一堆狀態, 基本上要使用到 Java Object,不可能完全不動到, 除非,每一次都 clone 出來再使用,但這樣效能不好, 或許會衍生出其他的問題。 所以 clojure 要基於 Java 之上,基本上應該是沒可能成為 純的函數語言了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.74.159