diff --git a/content/Row Polymorphism.md b/content/Row Polymorphism.md new file mode 100644 index 00000000..1fa93166 --- /dev/null +++ b/content/Row Polymorphism.md @@ -0,0 +1,19 @@ +#programming + + +[[構造的部分型]]と似ているけどちょっと違う + +[Row Polymorphism Isn't Subtyping - BAM Weblog](https://brianmckenna.org/blog/row_polymorphism_isnt_subtyping) + +[[OCaml]]のレコード型で導入されている + +[[PureScript]]では明示的なシンタックスで導入されている + +[documentation/language/Records.md at master · purescript/documentation · GitHub](https://github.com/purescript/documentation/blob/master/language/Records.md#extending-records) + +レコード型のコンストラクタが‘`Row Type -> Type`(Rowはカインド変数)になる + + +[[SATySFi]]ではオプション付き引数の型システムに使ってる + +[SATySFi v0.1.0に向けたラベルつきオプション引数の型システム - gfnweb](https://gfngfn.github.io/ja/posts/2022-05-22-a-type-system-of-labeled-optional-parameters-for-satysfi/) \ No newline at end of file