「Program=Proof筆記」修訂間的差異

增加 44 位元組 、 2024年3月3日 (星期日)
無編輯摘要
行 49: 行 49:
</pre>
</pre>


; Type annotation(型別顯式標記)
====Type annotation(型別顯式標記)====


比較:
比較:
行 58: 行 58:
</pre>
</pre>


;型別
====型別====


List.map 的型別:<code>('a -> 'b) -> 'a list -> 'b list</code>
List.map 的型別:<code>('a -> 'b) -> 'a list -> 'b list</code>
行 64: 行 64:
<code>let mapped_list = List.map (fun x -> 2 * x) a_list</code>
<code>let mapped_list = List.map (fun x -> 2 * x) a_list</code>


; 可變變數(reference)
====可變變數(reference)====
<pre>
<pre>
let () =  
let () =  
行 75: 行 75:
另外還有 record、array、GADT、垃圾回收等等。
另外還有 record、array、GADT、垃圾回收等等。


; 迴圈
==== 迴圈====
<pre>
<pre>
let () =  
let () =  
行 84: 行 84:
</pre>
</pre>


; 部分應用(不需括號)
====部分應用(不需括號)====


int -> (int -> int) 即 int -> int -> int
int -> (int -> int) 即 int -> int -> int
行 101: 行 101:
</pre>
</pre>


; 布林 boolean 操作
====布林 boolean 操作====


操作子
操作子
行 120: 行 120:
</pre>
</pre>


; product type
====product type====
add (x, y) = x + y
add (x, y) = x + y