タグ

scalaとhaskellに関するmasterqのブックマーク (2)

  • いろんなプログラミング言語のアドホック多相 - Qiita

    TL;DR アドホック多相は型クラスじゃなくても実現できる。 Haskell, Rust, Scalaでは後付けで拡張できるけど、それはアドホック多相の質ではない。 アドホック多相(Ad hoc polymorphism) ウィキペディアは辞書ではないのはわかっていますが、それでも 英語WikipediaのAd hoc polymorphismのページを参考に挙げておきます。 ざっくりまとめると 型階層上は関連性のない複数の型の引数に適用できる、多相的な関数 引数の型に応じて、個別の(アドホックな)実装にディスパッチされる と、それだけのこと。 「引数の型によって別の実装にディスパッチされるって、それメソッドのオーバーロードと何が違うの」ってことなんですけど、特に違いはありません。同じです。とはいえ、プログラミング言語によって、実現方法や使い勝手は違います。そのあたりのことを、いくつか

    いろんなプログラミング言語のアドホック多相 - Qiita
    masterq
    masterq 2023/04/28
    Rust便利なのでは。型推論に影響はあるにしても。
  • Hedgehog will eat all your bugs

    Hedgehog automatically generates a comprehensive array of test cases, exercising your software in ways human testers would never imagine. Generate hundreds of test cases automatically, exposing even the most insidious of corner cases. Failures are automatically simplified, giving developers coherent, intelligible error messages.

  • 1