[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

monadに関するmooonymannのブックマーク (7)

  • What does "abstract over" mean?

    In algebra, as in everyday concept formation, abstractions are formed by grouping things by some essential characteristics and omitting their specific other characteristics. The abstraction is unified under a single symbol or word denoting the similarities. We say that we abstract over the differences, but this really means we're integrating by the similarities. For example, consider a program tha

    What does "abstract over" mean?
  • 絶対に理解出来ないモナドチュートリアル - konn-san.com

    世の中には、恐しい数のモナドチュートリアルがあって、それぞれモナドは象だとか、いや接ぎ木だ とか、プログラマブル・コンテナだとか、プログラム可能なセミコロンだとか、色々な説明がなされている。「モナド チュートリアル」で検索すれば、他にも色々に絵解きされた有象無象のモナドが大量に引っ掛かる。そうそう、モナドは単なる自己関手の圏におけるモノイド対象だよ。何か問題でも?なんてのもあったな。 この記事の目的は別に、こうした既存のモナドチュートリアルを「間違ってる!」とか「わかるわけねーよ!」といって貶そうという訳ではない。実際、既に幾多書かれているチュートリアルの中でも、僕の云いたいことと殆んど同じようなことが書かれているものは沢山ある。 では、上の膨大なリストの末尾にまた一つ「わかりやすい比喩」を付け足そうというのか?というとそういう訳でもない。そうそう、モナドは比喩ではないというチュートリアル

  • 「関数型プログラミングはオブジェクト指向の正当な後継」なの? - 檜山正幸のキマイラ飼育記 (はてなBlog)

    オブジェクト指向を知っている人々に、「関数型もオブジェクト指向と大差ないよ、大丈夫だよ」とお誘いする記事は大いに存在意義があると思います。 関数型プログラミングはオブジェクト指向の正当な後継である 上記の記事は、そういう目的を持って書かれたのでしょう。その内容(目次)は次のようです(僕のこの記事の目次じゃないよ)。 対象読者 なぜこの記事を書こうと思ったのか? なぜ関数型プログラミングはわかりにくいのか? オブジェクト指向の負の遺産を捨てよう 関数型プログラミングの概要 「阿吽の呼吸」とも言うべき使いやすさの拡張 型にまつわる考察 まとめ 最初のほうを読むと、言ってることはまっとうで好感を持てます。が、「5. 関数型プログラミングの概要」の節あたりから雲行きが怪しくなって、ちょっと何言ってるかわかんない((c)サンドウィッチマン)。 檜山のこの記事の内容: 真面目なポエム モナドっておいし

    「関数型プログラミングはオブジェクト指向の正当な後継」なの? - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • Scalaでモナド - papamitra

    前回(第11回)の名古屋scala勉強会の前半はfor式を肴にモナド三昧。『ふつうのHaskell』を発売直後*1に買ったものの途中で投げ出した自分はやっぱりチンプンカンプン。でもまぁチンプンカンプンなりにいろいろ教えてもらったので、それを頼りになんとかモナドのさわりだけでも学んでみようかと。 教科書はこちら。 モナドのすべて 残念ながらというか、当たり前というかコード例がHaskell。自分のようにHaskellの基的な文法さえ記憶の彼方という人や、Haskell知らないという人にはとりあえずここ。 Haskell基礎文法最速マスター これで『モナドのすべて』にあるHaskellコードはなんとなく理解できるようになるはず。 モナドの定義 定義だけならいたって簡単。 「returnとbind(>>=)が定義されていて、モナド則を満たす」 これだけ。ScalaだとOptionやListがモ

    Scalaでモナド - papamitra
  • Applicative と Monad の違いについて - Qiita

    「ApplicativeとMonadは何が違うのか?」という疑問についての自分なりのまとめ。 型制約の強さの違い Haskellの型クラスは「特定の名前と型がついた関数が実装されているか」で型をグループ化する概念。言ってみればJavaのinterfaceのようなもので、ある型がその型クラスに属するためにはその型クラスによって指定された名前と型を持つ関数を定義する必要がある。 ApplicativeとMonadは型クラスであって、それぞれが要求する関数が異なる。 型クラスの定義を読む GHCi(7.10.2)によると、Applicativeの定義は以下。 (ちなみに小文字で書かれたfやaやbは型変数で、ある具体的な型(例えばIOとかMaybeとか[]とか)が入る。同じ型変数には同じ型が代入されるので、(<*>) :: Maybe (a -> b) -> IO a -> Maybe bのような

    Applicative と Monad の違いについて - Qiita
  • 箱で考えるFunctor、ApplicativeそしてMonad

    モナドについて勉強していて見つけた英語記事を翻訳してみました。 誤訳等あれば編集リクエストやコメントください 原文: Functors, Applicatives, And Monads In Pictures - adit.io ここに単純な値(value)があります。

    箱で考えるFunctor、ApplicativeそしてMonad
  • Scalaエンジニアのためのモナド入門

    This document provides examples of using flatMap and for comprehensions in Scala with different data types like Option, List, State, and Parser. It shows how flatMap allows sequencing operations that return types like Option, List, State in a way similar to monadic bind (>>=) in Haskell. The for comprehension is syntactic sugar for chaining multiple flatMap operations. Examples demonstrate flatMap

    Scalaエンジニアのためのモナド入門
  • 1