1
OCamlには、「開」と「閉」のレコードパターンを区別するための明示的な構文構造(Parsetree.pattern_desc
, constructor Ppat_record
を参照)があります。オープンレコードパターンの意味は?
これは、パターンマッチングには何ら影響を与えないように見える:
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>
だから、/その目的は何だったのか?これは何らかのSML遺物ですか?