タグ

scalazに関するuehajのブックマーク (1)

  • 実装から学ぶ型クラス…Groovyで型クラスを実現することを例にして - uehaj's blog

    これは2014年のG*アドベントカレンダーの第23日目の記事のつもりでしたが、12時すぎてしまいましたorz。 HaskellやScalaRustには型クラスという言語機能があり、個人的感想として、理解が難しかったものの一つです。いわく、インターフェースのようなもの。いわく、オープンクラスのようなもの、など。 わからなければ作ってみるのが一番です。なのでGroovyで型クラスを実装してみました。 ソースはこちら。 ただし実用的なものではなく、学習用です。また実装したのは概念のコア部分のみで、言語によって詳細は異なることに注意ください。 型クラスとは何か 型クラスとは、多相型・ジェネリクス型の型引数(仮型引数)に対して、「ある型に対して可能な操作の集合」を、制約として与え、またそれらの操作が可能であるという保証を、「クラスの継承関係」とは無縁の方法で与えるものです。 別の言い方で言うと、「

    実装から学ぶ型クラス…Groovyで型クラスを実現することを例にして - uehaj's blog
    uehaj
    uehaj 2014/12/24
    追記 "仮想関数による多態性イラネ。原語では同じ単語で多相性とかぶってる""操作のレシーバーという概念は非対称で嫌。レシーバーと他の引数、戻り値の型に非対称性があり、数学的概念の記述などでの一般性を阻害す
  • 1
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy