タグ モナド
新着順 10 users 50 users 100 users 500 users 1000 users【追記あり】ChatGPTじゃなくて人力でモナドが発明された経緯を適当に調べた(ソース付き)。 - Qiita
動機 最近、chatGPTにいろいろ尋ねるのが流行っているらしい。Haskellで有名なモナドの概念がなぜ導入されたか尋ねている人を見かけて、そういやそういう記事見たことないなと思ったので適当に調べた。 一次ソース 元ネタは以下のマイナーだと思われる文献 An abstract view of programming languages Eugenio Moggi教授... 続きを読む
「Haskellのモナド完全に理解した」試験問題
Haskellは勉強したけどモナドを本当に理解したって言えるのか自信がない… \そんな人向けの試験問題を作りました!/ これから実施する試験問題を、10問中8問正解すればあなたはHaskellのモナドを完全に理解しています。私が保証します! それではさっそく〜〜 第一問 まずは緊張をほぐしましょう。 Haskellの Monad は○... 続きを読む
HaskellでのTDDを楽しくするライブラリ methodを作りました。
はじめに Haskellでテスト駆動開発を行う際、純粋な関数は単体テストを書きやすいですが、 返り値がモナドの関数(この記事ではそのような関数をメソッドと呼びます)にたいして単体テストを書くのは簡単ではありません。 今回、メソッドに対して単体テストを書きやすくなるライブラリ methodを作成しました。 methodと... 続きを読む
Rustでもモナドは実装できるのか?(再) - Don't Repeat Yourself
この記事は言語実装Advent Calendar 2020 25日目の記事です。 前提知識 高階カインド型 モナド 従来のエミュレーション方法 Generic Associated Types を用いたエミュレーション(new!) 型クラスを定義する Functor を用意する Pointed を用意する Applicative を用意する Monad を用意する いくつか型を実装していく ... 続きを読む
ソフトウェアエンジニアとしてモナドを完全に理解する / make-perfect-sense-of-monad - Speaker Deck
All slide content and descriptions are owned by their creators. 続きを読む
単純で頑強なメッセージングシステム、franz - モナドとわたしとコモナド
Haskell製の新しいメッセージングシステムfranzの紹介。 github.com 背景 取引所にあるマシンで取引プログラムを実行するのが我々の仕事だが、朝8時に起動したらあとは昼寝したり酒を飲んだりというわけにはいかない。モニタリングしたり、分析のためにデータを残しておく必要がある。そのため、プログラムによって解析... 続きを読む
「関数型言語をもっと使いこなしたい!」マイクロアドの新卒エンジニアがデータサイエンティストの先輩に圏論の初歩を指導してもらった話 - MicroAd Developers Blog
はじめに こんにちは、19新卒バックエンドエンジニアの飛田です。 弊社では、プロダクトの一部にCatsという関数型プログラミングを行うためのライブラリを導入しており、今後、Catsをより多くのプロダクトに使用していく予定です。 Catsにはモナドやファンクタという概念が登場しますが、これらの概念は圏論に由来してい... 続きを読む
君の手で作るモナドは怖くない - builderscon tokyo 2019
This session has NOT been accepted yet. If you would like to see it in the conference, please post it in social networks, as those numbers will be tallied and used as part of the selection criteria Abstract 本セッションの目的は、ずばり モナド (monad) に対する 初心者の心理的障壁を取り除くこと です... 続きを読む
Scala + CleanArchitecture に Eff を組み込んでみた – PSYENCE:MEDIA
この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2018 の投稿記事です。 こんにちは。スタディサプリENGLSHでサーバーサイドとインフラを担当している松川です。 Effを組み込むことによって、これまでモナドトランスフォーマーでは辛かった数種類以上のモナドを取り扱う場合の処理をフラットに書けるようになっ... 続きを読む
30分でわかるJavaScriptプログラマのためのモナド入門
「30分でわかる」のは、だいたい、 4. モナド(Monad)とは何か? の読了までを想定しています。 また速い人なら、30分で全部一気に読み通せる分量でもあると思います。 30分以上かかっても一気読みしてしまうことが推奨されますし、一気読みできるように、前に戻って知識の再確認をしなくて済むように、最大限留意して構... 続きを読む
技術ブログ: 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.... 続きを読む
「名前の束縛」という名の束縛 - モナドとわたしとコモナド
実用的なプログラミングにおいて、名前と概念を結びつける「束縛」はほぼ必須の概念である。しかし、その言葉には大きな誤解と混乱が根付いていた。 事の発端となったのは「Haskellにおいては、変数は値を代入するものではなく、値に束縛するものである」という議論である*1 *2。しかし、これは大きな誤解を孕んでいる。... 続きを読む
日持ちする直列化のためのライブラリ「winery」 - モナドとわたしとコモナド
2018 - 06 - 03 日持ちする直列化のためのライブラリ「winery」 人類は、酒と共に発展してきたと言っても過言ではない。 穀物 や果実などを酒に変換することにより、糖を除く栄養を保ったまま、高い保存性を持たせることができる。酒は人々の喉を潤し、時に薬として使われた。 プログラミングにおいても、終了したら消えてしまうデータを、保存性の高いバイト列に変えたい場面がよくある。そのような操作... 続きを読む
HaskellでDiscordのBotを作る - モナドとわたしとコモナド
2018 - 02 - 11 HaskellでDiscordのBotを作る Discord はゲーミング向けのテキストチャットと音声通話を兼ねるプラットフォームであり、「テキストチャンネル」と「ボイスチャンネル」の二種を好きなだけ作ることができる。もちろん音声を全チャンネルに常時垂れ流すわけには行かないので、通話するにはボイスチャンネルに参加するという手順を踏む必要がある。しかし、例えば誰かがやっ... 続きを読む
エンジニアのための『Haskell入門』
2017/10/03 (この記事は『Haskell入門 関数型プログラミング言語の基礎と実践』の書評もとい宣伝です) Haskell は研究者から開発者まで様々な人が関わり発展している言語です。純粋なエンジニアがHaskellを学び始めるとファンクタやモナドなど数学由来の概念に惑わされ、まともなアプリケーションを開発できるスキルを身につけるところまでたどり着かないというのはよくある話だと思います。... 続きを読む
FRPクライシス - モナドとわたしとコモナド
2017 - 08 - 06 FRPクライシス FRP (Functional Reactive Programming)は、リアクティブプログラミングと 関数型プログラミング の性質を持つプログラミング パラダイム である。 FRP は古典的 FRP と矢矧の FRP に大別される。 古典的 FRP 古典的(Classical) FRP は、非連続的な値の列Eventと、常に何らかの値を取るBe... 続きを読む
快速のExtensible effects - モナドとわたしとコモナド
2017 - 08 - 02 快速のExtensible effects extensible は拡張可能レコードだけでなく拡張可能作用(extensible effects)も用意している。拡張可能作用は一時期 Haskell 界隈で話題になったものの、今では人気も下火になってしまった。新しいバージョンをリリースした今、拡張可能作用の動機と使い方について改めて紹介しよう。 難行の一次関数 Has... 続きを読む
慰安婦:筒井康隆氏の小説、韓国で販売中止に-Chosun online 朝鮮日報
慰安婦:筒井康隆氏の小説、韓国で販売中止に 旧日本軍慰安婦を象徴する少女像を性的に侮辱する衝撃的な妄言を発した日本の小説家・筒井康隆氏の小説『モナドの領域』が韓国国内で販売中止になった。同氏の『時をかける少女』は映画化されており、韓国でも有名な小説家だ。 この作品を韓国で販売している出版社は7日、「同氏の文学的成果とは別に、韓日関係や歴史に対する同氏の個人的観点にひどく失望した。作家としてだけで... 続きを読む
(朝鮮日報日本語版) 慰安婦:筒井康隆氏の小説、韓国で販売中止に (朝鮮日報日本語版) - Yahoo!ニュース
旧日本軍慰安婦を象徴する少女像を性的に侮辱する衝撃的な妄言を発した日本の小説家・筒井康隆氏の小説『モナドの領域』が韓国国内で販売中止になった。同氏の『時をかける少女』は映画化されており、韓国でも有名な小説家だ。 この作品を韓国で販売している出版社は7日、「同氏の文学的成果とは別に、韓日関係や歴史に対する同氏の個人的観点にひどく失望した。作家としてだけでなく、一人の人間としての同氏の態度と資質に対し... 続きを読む
関数型プログラミングはまず考え方から理解しよう - Qiita
関数型プログラミングが注目されて久しいです。 そろそろ勉強しておかないとなぁということで調べてみるものの、情報として出てくるのは"高階関数","カリー化","遅延評価","モナド"などの物々しい単語の数々。これらを勉強して理解した気になったものの、プログラムを書こうと思うと全然書けませんでした。 結局、関数型言語を実現する手段を学ぶ前に関数型と言われるパラダイムを理解しないことには書けません。とい... 続きを読む
難しいのは見た目だけ!?Haskellのモナドの「たった2つのルール」を簡単に理解する! - Qiita
この記事は Wantedly Advent Calendar 25日目の記事です。 最終日です!気合いが入りますね!! Introduction 今回は Haskell のモナドの話をしたいと思います。 Haskell を学び始めた時、誰もが一度は経験するのが「モナドって何だ?」という疑問です。「Haskell モナド」で検索してみても、圏論を絡めた小難しい説明ばかりが出てきて、よく分からない事が... 続きを読む
就職しました - モナドとわたしとコモナド
2015-10-08 就職しました 本日、Tsuru Capitalのポジションを得ました。 Tsuru Capitalはデリバティブの取引を行っている企業で、自動株取引の会社ではありません。取引に関わっている10人のメンバーのうち、創始者であるSimonを除く全員がHaskellerで、取引状況の分析や一部の取引の自動化など、あらゆるところにHaskellを使っているのが大きな特徴です。日本では... 続きを読む
ScalaのWebフレームワーク事情 2015年版 - たけぞう瀕死ブログ
2015-10-07 ScalaのWebフレームワーク事情 2015年版 Scala ScalaのWebフレームワークについて、昨年某所で書いた記事をアップデートしてみました。マイクロサービスが流行ってきたり、Playは2.4になっていろいろ変わったり、ScalaのライブラリやフレームワークもFutureやモナドを活用したものが増えてきたり等々、この一年でScala界隈のWeb開発事情もいろいろと... 続きを読む
モナドって結局何なのよ? — join to Monad v0.1.3 documentation
モナドって結局何なのよ?¶ Haskell を勉強しようとすると必ず「モナド」ってのが出てきます。困ったものです。数学とか圏論とか関係があるらしくって、何が書いてあるんだか分からなくって嫌になってしまいます。でもね、Haskell って凄いらしいじゃないですか、格好良いらしいじゃないですか。ここはちょっとがんばって色々考えてみましょう。 そもそも Haskell って何なのよ?¶ 何なんでしょうね... 続きを読む
JavaScriptのモナド | プログラミング | POSTD
モナドは、一連のステップによって実行する計算を記述する際に使用する、1つのデザインパターンです。純粋関数型プログラミング言語 では、モナドは副作用を管理するために利用されていますが、マルチパラダイム言語では、モナドで複雑性を制御することもできます。JavaScriptにおいてモナドを扱う方法について見ていきましょう。恒等モナド Maybeモナド リストモナド 継続モナド Do記法 連鎖呼び出し モ... 続きを読む