88346


レコードの定義：

[code]

    let t = {data: string}
    
[/code]

型の明示：

[code]

    let a:int = 1
    
[/code]

しかしこのような場合ではどういう意味でしょう？

[code]

    type abc = Abc : ab -> abc
    
[/code]

4.0のバージョンからの機能と聞いています、OCamlの本（五十嵐）には書かれていなかったです、英語の説明も見ましたが、日本語で説明いただけないでしょうか。

追記：

大体ヴァリアントのofとして使われると分かりました、しかしofとどうちがいますか（もし同じならわざわざ新しい符号を追加するのはデメリットしかないと思います）、なぜ最後に`->
abc`のようにもう一回タイプを書きますか？


CC BY-SA 4.0
2022-04-12T06:45:37.060
88290
2022-04-15T04:06:41.717
2022-04-12T06:53:36.380
41314
41314
question
ocaml
Ocamlでコロン（：）はいくつの使い方がありますか


ヴァリアントの拡張で、GADT(一般化代数的データ型)のための記法です。  
<https://ocaml.org/manual/gadts-tutorial.html#c%3Agadts-tutorial>


CC BY-SA 4.0
2022-04-15T04:06:41.717
88346
2022-04-15T04:06:41.717
241
88290
answer