2016-03-31 28 views
1

OCaml, "açık" ve "kapalı" kayıt kalıpları arasında ayrım yapmak için açık bir sözdizimsel yapıya (Bkz. Parsetree.pattern_desc, constructor Ppat_record) sahiptir. Açık kayıt modelinin anlamı nedir?

utop # type r = {repr:int; foo:int} ;; 
type r = { repr : int; foo : int; } 
utop # let f = function {repr} -> repr;; 
val f : r -> int = <fun> 
utop # let g = function {repr;_} -> repr;; 
val g : r -> int = <fun> 

Yani amacı/neydi edilir:

Bu desen eşleştirme üzerinde hiçbir etkiye sahip görünüyor? Bu bir tür SML kalıntısı mı?

cevap