タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

haskellとtypeclassに関するnfunatoのブックマーク (6)

  • 型クラスの原点 How to make ad-hoc polymorphism less ad hoc を読んだ話 - Qiita

    オレオレ型クラスの話をやめろ。原典に当たれ。ということで、Haskell に型クラスの導入を提案した論文とされる Philip Wadler. How to make ad-hoc polymorphism less ad hoc を読んだのでそれをまとめる話です。 型クラス導入の目的 2 つの多相 多相にはアドホック多相、パラメトリック多相の 2 つの種類がある。 アドホック多相 アドホック多相は、ある関数が受け入れる型によって 型に応じた振る舞いをするような多相 。典型的なのは関数や演算子のオーバーロード。

    型クラスの原点 How to make ad-hoc polymorphism less ad hoc を読んだ話 - Qiita
  • 入門的ではない型クラスの話:Haskellの型クラスがぁ (´^`;) - 檜山正幸のキマイラ飼育記 (はてなBlog)

    タイトルに「入門的ではない」と入れたのは; 先日の「関数型プログラミングとオブジェクト指向について、何か書く、かも」において、「型クラス入門」の記事を書くかもと予告じみたことを言ってしまったので、その入門じゃないぞ、と。でも、型クラスの話だぞ、と。そういう意味合いです。ヨロシク、アシカラズ。 型クラスの元祖はHaskellです。なので、「型クラス = Haskellの型クラス」という前提での解説が多いみたいです。しかし、元祖は“最初の試み”であるがゆえに、使用経験や後発の理論を活かすことが出来ず、むしろ問題をかかえていたりします。Haskellの型クラスも、なんだか残念なところが。 内容: オーバーロードと人生 型クラスは何がうれしいのか(オーバーロードなしでも) 型クラスの実際 記号の乱用の実装法 Haskellの型クラスは何がマズイのか オーバーロードと人生 型クラス誕生の動機は、演算

    入門的ではない型クラスの話:Haskellの型クラスがぁ (´^`;) - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • haskell "(+)" overload - Google 検索

    2014/08/22 · HaskellでC++Javaなどでできる関数のオーバーロードのようなことをやってみました。型クラスについての簡単な説明も含みます。 新しい言語を使うときは ...

  • Haskellで関数のオーバーロード - Qiita

    Haskellの実験メモです。 HaskellでC++Javaなどでできる関数のオーバーロードのようなことをやってみました。型クラスについての簡単な説明も含みます。 新しい言語を使うときはまさに手探りで、試行錯誤の過程についても記載しています。パターンマッチによる関数の分割定義を見たとき、関数のオーバーロードに似ていると感じたことが発端となっています。 C++ C++では同じ名前で引数の型が異なる関数を複数定義することができます。(関数のオーバーロード) #include <iostream> #include <string> using namespace std; string foo(int i) { if (i == 1) return "bar"; return "?"; } string foo(const string &s) { if (s == "1") return

    Haskellで関数のオーバーロード - Qiita
  • Haskellでの多態 (多相) | Netsphere Laboratories

    (2009.1.3) Haskell での polymorphism について。 オブジェクト指向だと polymorphism (ポリモーフィズム) は「多態」と訳しますが、Haskell 界 (?) では「多相」というみたいです。 オブジェクト指向言語では、あるオブジェクトに対するメソッド呼び出しが、そのオブジェクト(の種類、クラス)によって異なる振る舞いをする、という意味で使われます。 Haskellにはパラメータ多相とアドホック多相があります。 パラメータ多相 Haskell は、静的に (=コンパイル時に) 型チェックしますが、型が違うだけで実装が共通化できることがよくあります。こういうとき、型をパラメータとします。このような多態をパラメータ多相 (parametric polymorphism) といいます。 次の例は、何かのリストの長さ(要素の数)を数えます。a は型変数で、

  • Can you overload + in haskell?

  • 1