2,619
次編輯
Tankianting(討論 | 貢獻) |
Tankianting(討論 | 貢獻) |
||
行 1: | 行 1: | ||
{{Nav|程式語言、邏輯學}} | {{Nav|程式語言、邏輯學}} | ||
: 題名:Program=Proof | : 題名:Program=Proof | ||
: | : 中譯(暫):證明=程式 | ||
:作者:Samuel Mimram | :作者:Samuel Mimram | ||
:{{isbn|9798615591839}} | :{{isbn|9798615591839}} | ||
行 74: | 行 74: | ||
</pre> | </pre> | ||
另外還有 record、array、GADT、垃圾回收等等。 | 另外還有 record、array、GADT、垃圾回收等等。 | ||
; 迴圈 | |||
<pre> | |||
let () = | |||
let r = ref 0 in | |||
for i = 0 to 9 do | |||
r := !r +1 | |||
done | |||
</pre> | |||
; 部分應用(不需括號) | |||
int -> (int -> int) 即 int -> int -> int | |||
add 的以下寫法: | |||
<pre> | |||
add x y = x + y | |||
add y = fn x -> x + y | |||
add = fn x y -> x + y | |||
</pre> | |||
; 互遞迴 | |||
<pre> | |||
let rec f x = ... | |||
and g x = ..... | |||
</pre> | |||
; 布林 boolean 操作 | |||
操作子 | |||
<pre> | |||
&& || not | |||
條件與區塊 | |||
<pre> | |||
if ... then ... else... | |||
while ... do ... done | |||
</pre> | |||
比對操作子 | |||
<pre> | |||
== 同一記憶體位置 | |||
= 值相等 | |||
<> 不等於 | |||
</pre> | |||
; product type | |||
add (x, y) = x + y | |||
(int * int) -> int,其中的 (int * int)是 product type | |||
[[分類:資訊]] | [[分類:資訊]] | ||
[[分類:邏輯學]] | [[分類:邏輯學]] |