型クラスにおけるコヒーレンス:Swift、Rust、Scala、Haskellの比較
2025-03-12
型クラスは、Haskell、Swift、Rust、Scalaなどの言語で使用される一般的なプログラミング手法です。しかし、便利な暗黙的プログラミングは、型推論の曖昧さを招き、コヒーレンス(プログラムが正確に1つの意味を持つ性質)を損なう可能性があります。研究コミュニティでは意見が分かれています。文脈に依存した解決策を支持する者と、曖昧さを避けるためにグローバルに一意のインスタンスを主張する者がいます。本論文では、これらの4つの言語が型クラスのコヒーレンスに対処する方法を比較し、構文上の違いにもかかわらず、一意のインスタンスの制限を回避するための戦略が驚くほど似ていることを明らかにしています。