タグ 型クラス
人気順 5 users 50 users 100 users 500 users 1000 usersインターフェースと型クラスの違いを考える
この記事では、JavaライクなインターフェースとHaskellライクな型クラスを比較します。どちらも、複数の異なる型を統一的に扱うための仕組みです。 インターフェース インターフェースはご存知の方も多いと思いますが、コード例を載せておきます。 // インターフェースの定義 interface Greetable { String greet(); } /... 続きを読む
Scalaの型クラスを完全に理解する - Speaker Deck
All slide content and descriptions are owned by their creators. 続きを読む
まともな型クラス への入門: 関数型とオブジェクト指向の垣根を越えて - 檜山正幸のキマイラ飼育記
2016年9月に次の記事を書きました。 関数型プログラミングとオブジェクト指向について、何か書く、かも タイトルからして引き続く記事を予告しているのですが、その予告を実行することができませんでした。タイトル中の「何か」とは「型クラス」のことです。上記の記事の最後の部分は: 関数型プログラミングにもオブジェクト指向にも関係があって、今後重要度を増すであろう「型クラス」ですが、今述べた(愚痴った)よう... 続きを読む
インタフェースと型クラス、どちらでもできること・どちらかでしかできないこと - Qiita
最近にわかに 型クラス が盛り上がっているようです。しかし、型クラスはインタフェースに似たものだという意見もあればまったく別のものだという意見もあり、混乱する人が多いのではないかと思います。 そのような混乱を招く理由は、 インタフェースと型クラスはどちらも抽象化を実現するためのもの であり、 インタフェースでも型クラスでもできること インタフェースでしかできないこと 型クラスでしかできないこと が... 続きを読む
Scalaで型クラスを使おう! - Qiita
はじめに 某記事 で、 implicitsなんて呼ばないで、各機能ごとに適切な名称で呼ぼう。あと、重要なのは型クラスだからそれだけ注意すればOK、という趣旨のことを書きましたが、どうやって使えばいいかは投げっぱなしだったのでその導入編だけでも書こうかと思います。この記事での目的は簡単で、 Scalaのコレクションのsumメソッド(とproductメソッド)を自作の有理数クラスに適用できるようにしよ... 続きを読む
型クラスはインターフェースとどう違うのか | プログラミング | POSTD
Haskellの型クラスは、Haskellを学び始めたばかりの多くの人にとっては難しい概念です。たいていの言語はこれを表すことが全くできませんし、それに近い概念も持っていません。この記事は、型クラスに興味を持っている人向けです。Haskellや関数型プログラミングの予備知識は必要ありません。Haskellの型クラスは、Haskellを学び始めたばかりの多くの人にとっては難しい概念です。たいていの言... 続きを読む
型クラスを含んだ型推論を概観する 〜Typing Haskell in Haskell より〜 - tmp.txt
2015 - 12 - 18 型クラスを含んだ型推論を概観する 〜Typing Haskell in Haskell より〜 Haskell この記事は CAMPHOR- Advent Calendar 18日目の記事です. こんにちは @yu_i9 です.CAMPHOR- Advent Calendar には今年が初参加になります! 本記事では「Typing Haskell in Haskell... 続きを読む
Haskellによるオブジェクト指向
Haskellでの合成可能なオブジェクトの構成とその応用 木下郁章, 山本和彦, 2015 Haskellで状態を管理する際は、 一般的に代数データ型や型クラスが用いられるが、 データが拡張できないか、動的な性質を持たない。 そのためHaskellは、 複雑な状態を扱う問題領域には適していないと考えられてきた。 一方で、一般的なオブジェクト指向言語では、 オブジェクトを提供することでこの問題領域で... 続きを読む
で、結局型クラスって何がうれしいの、ということの説明 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
2014-07-01 で、結局型クラスって何がうれしいの、ということの説明 programming Scala 前回の記事では、Scala では implicit parameter を利用することで型クラスと同等のことが実現できることがわかりました。しかし前回の疑問として、「で、それの何がうれしいのよ」というのは残っていましたね。 今回はそのうれしみをなるべくわかりやすく説明したいと思います。 ... 続きを読む
Scala の implicit parameter は型クラスの一種とはどういうことなのか - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
2014-06-30 Scala の implicit parameter は型クラスの一種とはどういうことなのか programming Scala なんか型クラスとか言うと型の怖いひとたちが怖い話をワイワイしてるイメージがありますよね。わたしはあります。「で、それって何がうれしいのよ」とか、そういう話はあまりされていないような印象がありますね(あくまで印象です)。その上 "Scala の im... 続きを読む
traitで簡単にDCIを実装する - じゅんいち☆かとうの技術日誌
モデルの表現方法の一つとしてDCIの実装方法を、いろいろと模索しています。 暗黙的型変換と型クラスを使ったDCIがよいと説明しましたが、traitだけでもっと簡単に実現できないか考えてみました(この方法はLean Architectureにも紹介されている実装方式です)。 traitで仕様を表現する traitは、仕様を表現するためのインターフェイスとしても使えるし、他のクラスなどに合成するための... 続きを読む
怖くない型クラス
怖くない型クラス Presentation Transcript こわくない型クラス @kmizu Scala Conference in Japan 2013 座長 Scalaエヴァンジェリスト(に戻った?) こわくない話 型クラスは怖くない 型クラスは友達 本当に? 本当です(真顔) 簡単な例題 リストの要素を全て足し合わせた値を返 す関数 素直な解 def sum(list: List[In... 続きを読む
QAで学ぶMonad - あどけない話
Haskellこれは、Monad でつまづいた Haskeller のための Monad 入門です。Monadとは何ですか?Monad とは、単なる型クラスの一つです。難しいという風評もありますが、それ以上でもそれ以下でもありません。この型クラスのメソッドは、return と >>= です。 class Monad m where (>>=) :: m a -> (a -> m b) -> m b... 続きを読む