タグ

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

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

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

    いろんなプログラミング言語のアドホック多相 - Qiita
    masterq
    masterq 2023/04/28
    Rust便利なのでは。型推論に影響はあるにしても。
  • (※2018/3/17 新しい記事書きました) Dottyによる変更点と使い方 - 水底

    新しい記事を書きました. 記事を包含します. amaya382.hatenablog.jp Dottyで何ができるようになるのかとその使い方を簡単にまとめたいと思います. 理論的な部分は深掘りしません. 以下ちょっと長め. 調べきれてない点も多々あるので, 抜けや間違いがあったら教えてください. そもそもDottyとは Dependent Object Types (DOT) に基づいた新しいScalaコンパイラです. たまにScala3とか呼ばれたりもしています. DOT計算理論の詳細は省きます (まとめるほど理解できていないとも言う…). 現行のコンパイラと比べ, コンパイラサイズの減少・コンパイル速度向上・様々な機能追加の他, コンパイラ自体の開発安定性も増すパワフルなアップグレードが期待できます. 現行のScalaとの互換性は切れていますが, 勿論重要な機能がなくなるといったこと

    (※2018/3/17 新しい記事書きました) Dottyによる変更点と使い方 - 水底
    masterq
    masterq 2017/05/01
    Scala3と呼ばれる新しいコンパイラ。依存型が入ったの?
  • 1