タグ モナド
新着順 10 users 50 users 100 users 500 users 1000 users関数型プログラミングはまず考え方から理解しよう - Qiita
関数型プログラミングが注目されて久しいです。 そろそろ勉強しておかないとなぁということで調べてみるものの、情報として出てくるのは"高階関数","カリー化","遅延評価","モナド"などの物々しい単語の数々。これらを勉強して理解した気になったものの、プログラムを書こうと思うと全然書けませんでした。 結局、関数型言語を実現する手段を学ぶ前に関数型と言われるパラダイムを理解しないことには書けません。とい... 続きを読む
30分でわかるJavaScriptプログラマのためのモナド入門
「30分でわかる」のは、だいたい、 4. モナド(Monad)とは何か? の読了までを想定しています。 また速い人なら、30分で全部一気に読み通せる分量でもあると思います。 30分以上かかっても一気読みしてしまうことが推奨されますし、一気読みできるように、前に戻って知識の再確認をしなくて済むように、最大限留意して構... 続きを読む
モナドが解らない人へ、図解で絶対わかるモナドのしくみ - セカイノカタチ::Techlog
Scala, Haskell 前置き みなさん、モナドって、わかりにくいですよね。 なので、図解することで解りやすく説明できるんじゃないかと、何回かモナドの図解を試みてきたのですが、むしろ複雑さが強調されてしまい残念な感じになってしまいました。 過去の図解 モナドってなんだよ!?全然わからないんで分解して図解してみた(´・ω・`) モナドの分解ふたたび ただ、以前よりモナドを表すメタファのイメージ... 続きを読む
モナド教
前提知識:モナド モナドを理解せずともモナド教を信ずることは出来ますが,理解していればより深く納得できるでしょう. 操作 :: 型 -> 型 は,"型"から"型"へ写す"操作"の存在を表します. モナドの文脈 m が必要とする2つの操作: return :: a -> m a で,値を保ちつつ文脈 m の中に入れ込むことが出来ます. (=<<) :: (a -> m b) -> (m a -> m... 続きを読む
JavaScriptのモナド | プログラミング | POSTD
モナドは、一連のステップによって実行する計算を記述する際に使用する、1つのデザインパターンです。純粋関数型プログラミング言語 では、モナドは副作用を管理するために利用されていますが、マルチパラダイム言語では、モナドで複雑性を制御することもできます。JavaScriptにおいてモナドを扱う方法について見ていきましょう。恒等モナド Maybeモナド リストモナド 継続モナド Do記法 連鎖呼び出し モ... 続きを読む
モナドはメタファーではない | eed3si9n
Scala界の関数型プログラミング一派を代表する論客の一人、@djspiewak が 2010年に書いた "Monads Are Not Metaphors" を翻訳しました。翻訳の公開は本人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2010年12月27日 Daniel Spiewak 著 2011年5月29日 e.e d3si9n 訳 僕は今、約束を破るところだ。およそ三... 続きを読む
関数型プログラミングとオブジェクト指向の抜き差し可能な関係について整理して考える - モナドとわたしとコモナド
2014-09-22 関数型プログラミングとオブジェクト指向の抜き差し可能な関係について整理して考える Googleで適当に検索すると とズラリと出てくる。 オブジェクト指向 v.s. 関数型プログラミング 関数型とオブジェクト指向という一見相反するプログラミングパラダイムの併用について理解した プログラマが知るべき97のこと/関数型プログラミングを学ぶことの重要性 新人プログラマに知っておいても... 続きを読む
第14回 関数脳のつくり方 Second Season 〜モナドで悟りをひらく〜 - 刺激を求める技術者に捧げるScala講...:ITpro
大手SIベンダにてSEやPMやアーキテクトとして勤務したのち,株式会社豆蔵を経て,現在は合同会社シンプルアーキテクト代表社員であり,株式会社匠Business Placeのチーフコンサルタント。主に超上流のプロセスである要求開発やオブジェクト指向,アジャイル開発のコンサルタントとして活躍中。開発の現場にこだわり,開発の現場を少しでもよくしたいと日夜奮闘している。要求開発アライアンス執行委員。著書に... 続きを読む
ソフトウェアエンジニアとしてモナドを完全に理解する / make-perfect-sense-of-monad - Speaker Deck
All slide content and descriptions are owned by their creators. 続きを読む
圏論とかモナドなんて簡単だからscalaを使って説明してみた - だらだらしてたいなぁ
2013-03-31 圏論とかモナドなんて簡単だからscalaを使って説明してみた scala 圏論 はじめに 関数型といえばモナド、モナドといえば難しいという事が巷で言われていますが、いきなりモナドを理解しようとするから難しく思えるだけで、圏論から順序を追って理解していけば全然難しく無いんだよって事を分かって貰えればいいなぁと思い書いて見ることにしました。ただ、圏論といっても適用範囲がとっても広... 続きを読む
絶対に理解出来ないモナドチュートリアル - konn-san.com
絶対に理解出来ないモナドチュートリアル 世の中には、恐しい数のモナドチュートリアルがあって、それぞれモナドは象だとか、いや接ぎ木だ とか、プログラマブル・コンテナだとか、プログラム可能なセミコロンだとか、設計図の色々な説明がなされている。「モナド チュートリアル」で検索すれば、他にも色々に絵解きされた有象無象のモナドが大量に引っ掛かる。そうそう、モナドは単なる自己関手の圏におけるモノイド対象だよ。... 続きを読む
モナドって結局何なのよ? — join to Monad v0.1.3 documentation
モナドって結局何なのよ?¶ Haskell を勉強しようとすると必ず「モナド」ってのが出てきます。困ったものです。数学とか圏論とか関係があるらしくって、何が書いてあるんだか分からなくって嫌になってしまいます。でもね、Haskell って凄いらしいじゃないですか、格好良いらしいじゃないですか。ここはちょっとがんばって色々考えてみましょう。 そもそも Haskell って何なのよ?¶ 何なんでしょうね... 続きを読む
出、出~~wwwww銀行員待行列解説奴~wwwwwww - モナドとわたしとコモナド
2015-02-05 出、出~~wwwww銀行員待行列解説奴~wwwwwww 銀行員待行列(Banker's deque)、二つのリストで構成奴~~wwwww 入奴と出奴~wwwwwwwww ↓入奴 三(^o^)ノ [(^o^)ノ, (^o^)ノ, (^o^)ノ] ヽ(^o^)三 [ヽ(^o^), ヽ(^o^), ヽ(^o^)] ↑出奴 追加は入奴にcons、取り出しは出奴にuncons奴~www... 続きを読む
Scala で圏論入門 - GitHub
https://hseeberger.wordpress.com/2010/11/25/introduction-to-category-theory-in-scala/ もし君が僕みたいに、以前はJavaディベロッパーで、Scalaのファンになったばかりなら、君は多分遅かれ早かれ、モナドやら関手やらの、圏論の分野からやってきた謎に遭遇するだろう。そういった未知の概念は、君を、自分が恐ろしくまぬけ... 続きを読む
絵で見るモナド | eed3si9n
John Wiegley さんの "Monads in Pictures" を翻訳しました。翻訳の公開は本人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2012年8月20日 John Wiegley 著 2012年8月21日 e.e d3si9n 訳 これはモナドのチュートリアルではないし、ここには数学用語も出てこない。本稿は、既にモナドを一応使えるぐらいには習った人を対象と... 続きを読む
PlayFramework - 継続モナドを使ってWebアプリケーションのコントローラーを自由自在に組み立てる - Qiita
継続モナドを使ってPlay FrameworkのActionを作るという話をします。 Play FrameworkはScalaのWebアプリケーションフレームワークであり、Actionはそのコントローラー部分になります。 この記事を読むにあたって継続モナドの知識は前提としませんが、 ある程度のモナドの知識(Scalaのfor構文の使い方、ScalaのモナドがflatMapメソッドで合成できることな... 続きを読む
モナドの六つの系統 - モナドとわたしとコモナド
2013-06-05 モナドの六つの系統 モナドは「アクション」を表す抽象的な構造である。モナドは、Haskellにさまざまな概念に対する記述能力をもたらす。 モナドの基礎 return :: a -> m a: 純粋な値をモナドで包む。 m >>= f :: m a -> (a -> m b) -> m b: モナドmに包まれた値をfに渡し、その結果として現れたモナドを結合する。 固有アクション... 続きを読む
ScalaのWebフレームワーク事情 2015年版 - たけぞう瀕死ブログ
2015-10-07 ScalaのWebフレームワーク事情 2015年版 Scala ScalaのWebフレームワークについて、昨年某所で書いた記事をアップデートしてみました。マイクロサービスが流行ってきたり、Playは2.4になっていろいろ変わったり、ScalaのライブラリやフレームワークもFutureやモナドを活用したものが増えてきたり等々、この一年でScala界隈のWeb開発事情もいろいろと... 続きを読む
モナドという言葉を使うことなく、純粋関数型言語の入出力を解説する。Rubyで。 - <s>gnarl,</s>技術メモ”’<marquee><textarea>¥
これはRuby Advent Calendarの21日目の記事です*1。20日目は@sasata299さんのHerokuって便利だし利用までたった3ステップですお!!でした。 はじめに本当は「Pure Rubyで動くかっこいい形態素解析エンジンができた!!!」みたいな記事を書く予定でしたが、目標のクオリティに達しなかったのでリリースは延期されました。クリスマスごろにリリースされるといいですね。さて... 続きを読む
「関数型言語をもっと使いこなしたい!」マイクロアドの新卒エンジニアがデータサイエンティストの先輩に圏論の初歩を指導してもらった話 - MicroAd Developers Blog
はじめに こんにちは、19新卒バックエンドエンジニアの飛田です。 弊社では、プロダクトの一部にCatsという関数型プログラミングを行うためのライブラリを導入しており、今後、Catsをより多くのプロダクトに使用していく予定です。 Catsにはモナドやファンクタという概念が登場しますが、これらの概念は圏論に由来してい... 続きを読む
Haskell の Monad とは言語内DSLのフレームワークである - あどけない話
この記事は、Haskellを勉強してある程度分かったけど、Monadで挫折した人のための記事です。10分間で、Monadに対する納得感を得ることを目的としています。他の言語でいう「モナド」にも通用する内容ですが、Haskell の文法や用語を用いますので、他の言語の利用者に分かるかは不明です。Haskellを勉強したのですから、代数データ型 型クラスは分かっていることにします。Monad は、単な... 続きを読む
圏論の歩き方|日本評論社
第1章 [座談会] 圏論と異分野協働──今出川不純集会 第2章 圏の定義──矢印でいろいろ書いてみる ◎蓮尾一郎 第3章 タングルの圏 ◎鈴木咲衣+葉廣和夫 第4章 プログラム意味論と圏論──計算の「不変量」を圏論で捉える ◎長谷川真人 第5章 モナドと計算効果 ◎勝股審也 第6章 モナドのクライスリ圏──圏論による一般化とは? ◎蓮尾一郎 第7章 表現を〈表現〉する話──ミクロ・マクロ双対性(1... 続きを読む
「Haskellのモナド完全に理解した」試験問題
Haskellは勉強したけどモナドを本当に理解したって言えるのか自信がない… \そんな人向けの試験問題を作りました!/ これから実施する試験問題を、10問中8問正解すればあなたはHaskellのモナドを完全に理解しています。私が保証します! それではさっそく〜〜 第一問 まずは緊張をほぐしましょう。 Haskellの Monad は○... 続きを読む
技術ブログ: 30分でわかるJavaScriptプログラマのためのモナド入門
30分でわかるJavaScriptプログラマのためのモナド入門岡部 健 / Ken Okabe <kentutorialbook@gmail.com> Table of Contents1. モナドが難しい?1.1. モナドを理解するのが難しい理由2. JavaScriptプログラマのためのモナド入門2.1. 対象とする読者2.2. 本稿のアプローチ3. なぜモナドか?3.1. jQuery3.2. MonadicReact3.... 続きを読む
モナド: お前はもう知っている - TIM Labs
はじめに過去に私がHaskellを学び始めた時、真っ先に疑問に思ったことはモナドの存在だった。当時は全くと言っていいほど理解できなかったが、最近Haskellを学び直してようやく理解することができた(と思う)。という訳で、現時点での私のモナドへの理解を示すためにこの記事を書く。ここではモナドの本質が何なのか概要を示す。正確な説明は数多あるモナドについてのチュートリアルを参照されたい。Hellow ... 続きを読む