並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 866件

新着順 人気順

monadの検索結果1 - 40 件 / 866件

  • TechNet Script Center

    Summary: Using PowerShell to identify RPC ports in use by capturing content from PowerShell We'd like to introduce you today to one of our newest bloggers!  It's a froopingly awesome friend of ours, Joel Vickery, PFE.  (did I mention Dr. Scripto is a big fan of books written by Douglas Adams?....oops!) Take it away Joel! Thanks Doc!  So ...

    • IIJ Research Laboratory

      ネットワークの計測と解析 インターネットの使われ方やネットワークの挙動を把握する事は、ネットワークを運用し、その技術開発を行う ために欠かせません。しかし、観測で得られるデータ量は膨大ですがノイズが多く、また、観測できるのは極めて限られた部分でしかありません。そこで、膨大なデータから意味のある情報を抽出したり、部分的な観測からより一般的な傾向を推測する事が必要となります。... インターネット基盤技術 速くて、安全で、信頼性が高く、使いやすく、など、インターネットサービスへの要求はますます高まっています。これらの要求に応えるために、インターネットの 基盤技術も日々進歩しています。いまやインターネットはつながるだけのサービスではなく、高度で複雑な機能を備えた社会基盤となりました。IIJ技術研究所は、インターネットの基盤として実現が期待される機能を提供するために、さまざまな技術課題に取り組んで

      • エラー処理を書いてはいけない

        エラー処理を書いてはいけない田中英行 tanaka.hideyuki@gmail.com 2011/12/08 @PFIセミナー 自己紹介田中英行 (@tanakh, http://tanakh.jp) PFI社でプログラマやってますJubatuspficommon検索エンジンのコアエンジンHaskell愛好家msgpack / rpc / idlpeggy (パーザジェネレータ & QQ w/ AQ)Shu-thing (シューティングゲーム) / (Monadius メンテナ)今気になるパッケージは monad-controlLearn you a Haskell 鋭意翻訳中 (春頃発売予定) エラー処理を書いてはいけない本日の概要エラー処理を抽象化しようというお話です 現在のエラー処理の抱える問題どのように解決するのか実際の例エラーは処理しなければならない エラー処理を書いてはいけな

        • 30分でわかるJavaScriptプログラマのためのモナド入門

          「30分でわかる」のは、だいたい、 4. モナド(Monad)とは何か? の読了までを想定しています。 また速い人なら、30分で全部一気に読み通せる分量でもあると思います。 30分以上かかっても一気読みしてしまうことが推奨されますし、一気読みできるように、前に戻って知識の再確認をしなくて済むように、最大限留意して構成を設計した上で執筆されています。 数学と用語問題。モナドの理論的基盤として圏論があるのは事実。理論的基盤がしっかりしているのはプログラミングという数学的作業において歓迎すべきことではある一方で、他方そのため一般的なプログラマにとってはまず用語に馴染みがない。歴史的に、圏論ベースのモナドを理論から関数型プログラミングに応用されていく過程では、実際、先駆者の間でさえ紆余曲折があったのだが、学習者へは馴染みのない用語を伴って、いきなり高度な数学的概念全開で天下り的に提示されてしまうこ

          • Channel 9

            AI is suddenly everywhere. Do you need to go and get a shiny machine learning degree to remain competitive? John Maeda says not to worry. He’ll show you how to cook delicious dishes into your coding repertoire with his new show - Mr. Maeda’s Cozy AI Kitchen. Open at Microsoft is a weekly show for open-source enthusiasts. It features a diverse group of guests including maintainers, software and Dev

              Channel 9
            • モナドが解らない人へ、図解で絶対わかるモナドのしくみ - セカイノカタチ

              前置き みなさん、モナドって、わかりにくいですよね。 なので、図解することで解りやすく説明できるんじゃないかと、何回かモナドの図解を試みてきたのですが、むしろ複雑さが強調されてしまい残念な感じになってしまいました。 過去の図解 モナドってなんだよ!?全然わからないんで分解して図解してみた(´・ω・`) モナドの分解ふたたび ただ、以前よりモナドを表すメタファのイメージがあって、レゴブロックを組み合わせるようなカタチに例えてうまく説明できるんじゃないか。という予感がしていました。 そして、去年の年末ぐらいに、ついにそのカタチの具体的なアイディアを閃きました。 モナドを解りやすく図解する方法思い付いてるんだけど、絵心が足りなくて表現できない。モナドちゃんとかそう言うことではなく(´・ω・`) 2013-01-18 05:05:22 via ついっぷる for Android 今日、この記事を書

              • モナド教

                前提知識:モナド モナドを理解せずともモナド教を信ずることは出来ますが,理解していればより深く納得できるでしょう. 操作 :: 型 -> 型 は,"型"から"型"へ写す"操作"の存在を表します. モナドの文脈 m が必要とする2つの操作: return :: a -> m a で,値を保ちつつ文脈 m の中に入れ込むことが出来ます. (=<<) :: (a -> m b) -> (m a -> m b) で,「値を文脈に入った別の値へ写す操作」を「文脈に入った値を同じ文脈に入った別の値へ写す操作」に変換します. id :: a -> a は値をそのまま返す操作です. id を =<< で変換して得られる操作 join :: m (m a) -> m a で,二重に文脈に入った値を一重の文脈に入った値に戻すことが出来ます. 文脈の値から生の値を取り出す型 m a -> a を持つ操作は,一般

                • JavaScriptユーザのための関数型プログラミング(前編) | POSTD

                  私が関数型プログラミングについて度々耳にするようになったのは、数カ月前からです。でも当時は、それが何なのか見当もつかず、単なるバズワードだと思っていました。皆さんの中にも、そのような方は多いでしょう。それ以来、私は関数型プログラミングについて深く学び、この言葉を日々聞いてはいるものの内容を理解していない初心者の方のために、分かりやすく説明しようと思い立ちました。 関数型プログラミング言語の話になると、「 Haskell と Lisp は どちらが優れているのか 」という 議論 が 白熱する 傾向にあります。HaskellとLispはどちらも関数型言語ですが、実際には大きな違いがあって、それぞれに長所と短所があります。その具体的な内容については、この記事を読み終える頃には深く理解していただけると思います。この2つの言語には、それぞれから派生した言語があります。その中で恐らく皆さんが耳にしたこ

                    JavaScriptユーザのための関数型プログラミング(前編) | POSTD
                  • ソフトウェアエンジニアとしてモナドを完全に理解する / make-perfect-sense-of-monad

                    モナドを完全に理解する

                      ソフトウェアエンジニアとしてモナドを完全に理解する / make-perfect-sense-of-monad
                    • JavaScriptのモナド | POSTD

                      恒等モナド Maybeモナド リストモナド 継続モナド Do 記法 連鎖呼び出し モナド とは、一連のステップによって実行する計算を記述する際に使用する、1つのデザインパターンです。 純粋関数型プログラミング言語 では、モナドは 副作用を管理する ために広く利用されていますが、 マルチパラダイム言語では、モナドで複雑性を制御することもできます 。 モナドはデータ型をラップして、空の値を自動的に伝播したり( Maybe モナド)、非同期コードを簡略化したり( 継続 モナド)といった、新たな動作を既存のデータ型に追加します。 一連のコードをモナドと見なすためには、その構造には次に挙げる3つの要素が含まれていなければなりません。 型コンストラクタ — 基本的な型に対してモナドの動作を追加した型を作成する機能です。例えば、基本的なデータ型 number に対して、 Maybe<number> とい

                        JavaScriptのモナド | POSTD
                      • 檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」

                        気まぐれと偶然となりゆきで、ここ2,3回はモナドを話題にしました。googleで「モナド」を引いてザッと眺めると、「モナドはむずかしいー」とか「モナドで挫折した」みたいな雰囲気が感じられて、説明芸人の血が少し騒ぎましたね。「なら、予備知識ゼロでモナドの説明をしてやろうじゃねーか」と。 タイトルはだいぶ煽っちゃった…… けど、ハッタリじゃないつもり…… けど、実際はどうかな? ※印刷のときはサイドバーが消えます。 内容: とりあえず、あたりさわりなくモナドの来歴を紹介する こんな課題を考えてみよう:副作用付き計算 カウントアップする関数達 カウントアップしたい意志を戻り値で伝える それでは、いったい誰がカウントアップをするのだ 関数の引数の型をCountup型にまで拡張する そして、これがモナドだ とりあえず、あたりさわりなくモナドの来歴を紹介する 今からここで説明する「モナド(monad)

                          檜山正幸のキマイラ飼育記 - 世界で一番か二番くらいにやさしい「モナド入門」
                        • モナドはメタファーではない · eed3si9n

                          2011-05-28 Scala界の関数型プログラミング一派を代表する論客の一人、@djspiewak が 2010年に書いた “Monads Are Not Metaphors” を翻訳しました。翻訳の公開は本人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2010年12月27日 Daniel Spiewak 著 2011年5月29日 e.e d3si9n 訳 僕は今、約束を破るところだ。およそ三年前、僕は絶対にモナドの記事だけは書かないと自分に約束した。既にモナドに関する記事は有り余っている。記事の数が多すぎてその多さだけで多くの人は混乱している。しかも全員がモナドに対して異なる扱い方をしているため、モナドの概念を初めて学ぼうとする者は、ブリトー、宇宙服、象、砂漠のベドウィン (訳注: アラブ系遊牧民) の共通項を探す努力をするハメになっている。 僕は、この混乱した

                          • 圏論とプログラミング / Category Theory and Programming

                            シンポジウム「圏論的世界像からはじまる複合知の展望」@慶応大学 (Jan 25, 2020) http://www.inter.ipc.i.u-tokyo.ac.jp/symposium.html 「圏論とプログラミング」発表スライドメモ - Qiita https://qiita.com/inamiy/items/9af1da1faec22cd968f0 Video: https://www.youtube.com/watch?v=Ua6NE48_-1s

                              圏論とプログラミング / Category Theory and Programming
                            • jQueryはモナドだ - id:anatooのブログ

                              この記事はjQuery is a Monad | Important Shockという記事の勝手訳です。 追記1: bonotakeさんが補足記事を書いてくれています → JQueryがモナドかどうかとか - たけをの日記@天竺から帰ってきたよ 追記2: hirataraさんが補足記事を書いてくれています → jQueryは本当にモナドだった - 北海道苫小牧市出身のPGが書くブログ Haskellプログラマーは誰しもがモナドに関する各々のチュートリアルを書くと言われる。というのも、一度モナドの定義とその可能性を理解すれば、モナド全体を囲む神秘性に挑戦して打ち破るのが容易になるからだ。門外漢からすれば、モナドはHaskellを真に理解することを妨げる不可解な障壁だ。モナドはとても不適当な名前で呪われていて、一風変わった文法を持ち、一度に何もかもやってしまう様に見える。しかしながら、その動き

                                jQueryはモナドだ - id:anatooのブログ
                              • All About Monads モナドのすべて

                                モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド Version 1.1.0 このチュートリアルは、モナドの概念とその関数プログラミングにおける応用に ついて、初中級の Haskell プログラマにわかりやすく、利用価値があるような 解説をすることを旨としています。読者は Haskell になれていることを前提と しますが、モナドに関する経験は要求していません。このチュートリアルは、多 くの題材をカバーしています。後半のセクションでは、前半の題材をよく理解し ていることを前提とします。順をおって、モナドプログラミングを例示するため のサンプルコードがたくさん用意されています。一読で、すべての題材を吸収し ようというのはお勧めできません。 このチュートリアルは 3 つの部分で構成されています。最初の部分は、 関数プログラミングにおけるモナドの基本的

                                • 第14回 関数脳のつくり方 Second Season ~モナドで悟りをひらく~

                                  大手SIベンダにてSEやPMやアーキテクトとして勤務したのち,株式会社豆蔵を経て,現在は合同会社シンプルアーキテクト代表社員であり,株式会社匠Business Placeのチーフコンサルタント。主に超上流のプロセスである要求開発やオブジェクト指向,アジャイル開発のコンサルタントとして活躍中。開発の現場にこだわり,開発の現場を少しでもよくしたいと日夜奮闘している。要求開発アライアンス執行委員。著書に『オブジェクト脳のつくり方』や『eXtreme Programming実践レポート』(ともに翔泳社発行。後者は共著)などがある。 Javaなど,オブジェクト指向や手続き型のプログラミングの経験はあるけれど,関数型のプログラミングは初めてという皆様のための,そして筆者自身のための「関数脳のつくり方」シリーズのSecond Season(First Seasonはこちら)。今回は「モナド」を取り上げま

                                    第14回 関数脳のつくり方 Second Season ~モナドで悟りをひらく~
                                  • 圏論とかモナドなんて簡単だからscalaを使って説明してみた - だらだらしてたいなぁ

                                    はじめに 関数型といえばモナド、モナドといえば難しいという事が巷で言われていますが、いきなりモナドを理解しようとするから難しく思えるだけで、圏論から順序を追って理解していけば全然難しく無いんだよって事を分かって貰えればいいなぁと思い書いて見ることにしました。 ただ、圏論といっても適用範囲がとっても広く、応用編になると分けわかんなくなってくるので、ここではプログラミング分野に特化したFP(functional programing)圏論*1について書きます。 また、説明を簡単にする為に細かい部分をいろいろ省略しています。学術的な定義としては正確ではないので、このエントリの説明は大体合ってる位の気持ちで読んでくださいね。 尚、ぼくは圏論の詳しい事はさっぱり分からないので、学問的な話を振られても回答できませんキリッ 圏ってなんなの? 圏論と言えば、圏です。 圏って何なのかというと、対象(obje

                                      圏論とかモナドなんて簡単だからscalaを使って説明してみた - だらだらしてたいなぁ
                                    • The Typeclassopediaを訳しました, The Typeclassopedia - #3(2009-10-20)

                                      ■ [Haskell] The Typeclassopediaを訳しました The Monad.ReaderのIssue 13に掲載されたThe Typeclassopediaという記事が、Functor, Monad, Monoid, Applicative, Foldable, Traversable, Arrowといったような型クラスについて良くまとまっていて、そのあたりを知りたい時の取っ掛かりになりそうだったので翻訳してみました。 作者のBrent Yorgeyさんからも許可がいただけたので公開します。翻訳に慣れていないので変な日本語(特に専門用語の日本語訳はかなり怪しい)があったり、そもそも間違っていたりするかもしれませんので、何か見つけたらコメントを頂けると助かります。 ■ [Haskell] The Typeclassopedia by Brent Yorgey <first

                                      • モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド

                                        モナドのすべて Haskell におけるモナドプログラミングの理論と実践に関する包括的ガイド Version 1.1.0 このチュートリアルは、モナドの概念とその関数プログラミングにおける応用に ついて、初中級の Haskell プログラマにわかりやすく、利用価値があるような 解説をすることを旨としています。読者は Haskell になれていることを前提と しますが、モナドに関する経験は要求していません。このチュートリアルは、多 くの題材をカバーしています。後半のセクションでは、前半の題材をよく理解し ていることを前提とします。順をおって、モナドプログラミングを例示するため のサンプルコードがたくさん用意されています。一読で、すべての題材を吸収し ようというのはお勧めできません。 このチュートリアルは 3 つの部分で構成されています。最初の部分は、 関数プログラミングにおけるモナドの基本的

                                        • 絶対に理解出来ないモナドチュートリアル - konn-san.com

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

                                          • モナドって結局何なのよ? — join to Monad v0.1.3 documentation

                                            モナドって結局何なのよ?¶ Haskell を勉強しようとすると必ず「モナド」ってのが出てきます。困ったものです。数学とか圏論とか関係があるらしくって、何が書いてあるんだか分からなくって嫌になってしまいます。でもね、Haskell って凄いらしいじゃないですか、格好良いらしいじゃないですか。ここはちょっとがんばって色々考えてみましょう。 そもそも Haskell って何なのよ?¶ 何なんでしょうね、Haskell って。コンピュータ言語らしいんです、あ、それは分かってると。良く挙げられる性質は次な感じ?: 関数型言語 強い型付け 遅延評価 参照透過 ここでちょっと型に関して見てみましょう。試しに Haskell の実装の 1 つである Hugs で 1 について考えてみます。Hugs では :type や :info というコマンドで hugs に型の情報などを質問することができます。例え

                                            • Monadius - a scientist's toy box

                                              サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは本日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

                                              • モナドはポケモン。数学が出てこないモナド入門 - Qiita

                                                仮説:モナドとはポケモンである このテキストは、でんこうせっかの速さでモナドが使えるようになりたいひとのための、真面目なモナド入門です。数学っぽい話はなるべく避けていますし、関数型言語についての知識がなくても読めるように書いています。対象の読者は以下のような人です。 モナドが何なのか知りたい、使いたい Haskellを学ぼうとしたがモナドがわからなくて挫折した モナドを学ぼうとしたら、箱だのブリートだのと変な喩え話をされて余計わからなくなった プログラミングを学ぶつもりが数学の講義が始まったので止めた 最初はモナドは難しいからとGHCiを使わされたが、電卓程度にしかならないので飽きた なお、何故か説明の補助としてポケモンが登場しますが、この記事を読むのに別にポケモンをプレイしたことがある必要はありません。この記事はもしポケモン要素を全部無視したとしてもわかるようになっています。 挿絵があっ

                                                  モナドはポケモン。数学が出てこないモナド入門 - Qiita
                                                • PCの電源ケーブルを毎日持ち歩いているなら、片手で収まる「Dart」一択 | シゴタノ!

                                                  クラウドファンディングがあったようですが乗り遅れたのでAmazonで買いました。ほとんどのPCの電源ケーブルを超軽量化できる「Dart」です。 正式名称は「FINsix “Dart” 超小型65W ノートPC用 ACアダプター」(「ほとんどのPC」ということは、対応していないPCもあるということです。それはMacと一部のLet’s note)。ちなみにFINsixは「フィンシックス」と読みます。 Dartギャラリー ▼こんな箱で届きます ▼内容物一覧 ▼クイックスタートガイド ▼「ほとんどのPC」に対応するためのプラグ(全9種) ▼僕は ThinkPad T460s を使っているので「D1」プラグを接続 ▼技術仕様 ▼ビフォー(左)、アフター(右) ▼本体に肉薄 ▼手の中にすっぽり収まります ▼接続します。ちなみにコンセントを抜きやすくするこのプラグはおすすめです。 ▼購入時には気づかなか

                                                    PCの電源ケーブルを毎日持ち歩いているなら、片手で収まる「Dart」一択 | シゴタノ!
                                                  • JavaScriptユーザのための関数型プログラミング(後編) | POSTD

                                                    この記事の前編はこちら: JavaScriptユーザのための関数型プログラミング(前編) 遅延評価 遅延評価 は、 サンク や ジェネレータ などのもっと具体的な概念をカバーする一般的な用語の一種です。遅延評価は、その言葉が表すとおりのことを行います。つまり、値が必要になるまで評価しません。可能な限りずるずると、先延ばしにします。例えば、洗わなければならない食器が大量に、もしかすると無限にあるとします。食器を全て流しに置いて一度に洗うのではなく、ゆっくり、一度に1つずつ取って洗うのに似ています。 遅延評価の本質を少しでも理解しやすくするために、Haskellを使って説明したいと思います。まず、 プログラムがどのように評価を行うか を理解する必要があります。皆さんが慣れているほとんど全ての言語は、 最内簡約 を用いています。最内簡約とは、次のようなものです。

                                                      JavaScriptユーザのための関数型プログラミング(後編) | POSTD
                                                    • Route 477 - gemcutterの使い方まとめ (2009年秋)

                                                      ■ [haskell] モナドって結局なんなの 社内勉強会でモナドについて発表しました。分かった気がするたびにすぐに手からすりぬけてしまう、それがモナド…! 追記: モナドそのものが何なのかとか考えないほうがいいんじゃないですかね! [Twitter / いーぐるとまとより引用] まさにその通りだと思います(笑)。IOの使い方、Maybeの使い方、Stateの使い方などを押さえておけば、 中がどうなってるかなんて知らなくても大丈夫。 でも、モナドの持つ「なんか秘技がありそうな感じ」が、中を覗いてみたくさせるんですよね。 この、どこまで掘っても自分の知らないことが出てくる感じがHaskellの魅力なのかも。 Haskell の本当にすごいところは、「なぜなに」を問いかけることでいつまでもプログラマが成長できるところにある。 [ふぁぼったー / ikegami__より引用] 一問一答 Q. モ

                                                        Route 477 - gemcutterの使い方まとめ (2009年秋)
                                                      • QAで学ぶMonad - あどけない話

                                                        この記事は、Monad でつまづいた Haskeller のための Monad 再入門です。 Monadとは何ですか? Monad とは、単なる型クラスの一つです。難しいという風評もありますが、それ以上でもそれ以下でもありません。 この型クラスのメソッドは、return と >>= です。 class Monad m where (>>=) :: m a -> (a -> m b) -> m b return :: a -> m a つまり、以下を満たす型の集合が Monad です。 m a で表現できるように一つの型変数を格納するコンテナ型 >>= と return を実装 return は新しいコンテナを作り、>>= は二つのコンテナを合成します。 Monad のインスタンスは失敗系と状態系に大別できます。以下に代表的なインスタンスを示します。 失敗系: Maybe、[] (リスト)

                                                          QAで学ぶMonad - あどけない話
                                                        • ScalaのOptionステキさについてアツく語ってみる - ( ꒪⌓꒪) ゆるよろ日記

                                                          今日は、ScalaのOptionの使い方について解説しますよ。OptionはScala使いにとってはなくてはならないものです。これを覚えてしまうと他の言語でもOptionを作りたくなる、かもしれない? Optionってなに? Option型は、値があるかないか分からない状態を表すものです。「Maybeモナド」とか言ってしまうとアレですがまぁそんなようなものらしいです。 Optionの定義 まずは、Optionの定義から見てみましょう。Option型は、抽象クラスOption[+A]と、Option[A]を継承して値がある場合のSome[+A]型とNoneオブジェクトがあります。 Option - Scala Standard Library API (Scaladoc) 2.10.0-20120530-022829-8d38079ab4 - scala.Option // Optionの抽

                                                            ScalaのOptionステキさについてアツく語ってみる - ( ꒪⌓꒪) ゆるよろ日記
                                                          • 「Haskellのモナド完全に理解した」試験問題

                                                            Haskellは勉強したけどモナドを本当に理解したって言えるのか自信がない… \そんな人向けの試験問題を作りました!/ これから実施する試験問題を、10問中8問正解すればあなたはHaskellのモナドを完全に理解しています。私が保証します! それではさっそく〜〜 第一問 まずは緊張をほぐしましょう。 Haskellの Monad は○○○○である ○○○○に当てはまるのは以下の選択肢のうちどれでしょう? 型 関数 型クラス 型シノニム 答え

                                                              「Haskellのモナド完全に理解した」試験問題
                                                            • モナドって結局何なのよ? — join to Monad v0.1 documentation

                                                              モナドって結局何なのよ?¶ Haskell を勉強しようとすると必ず「モナド」ってのが出てきます。困ったものです。数学とか圏論とか関係があるらしくって、何が書いてあるんだか分からなくって嫌になってしまいます。でもね、Haskell って凄いらしいじゃないですか、格好良いらしいじゃないですか。ここはちょっとがんばって色々考えてみましょう。 そもそも Haskell って何なのよ?¶ 何なんでしょうね、Haskell って。コンピュータ言語らしいんです、あ、それは分かってると。良く挙げられる性質は次な感じ?: 関数型言語 強い型付け 遅延評価 参照透過 ここでちょっと型に関して見てみましょう。試しに Haskell の実装の 1 つである Hugs で 1 について考えてみます: $ hugs __ __ __ __ ____ ___ _____________________________

                                                              • SwiftのOptional型を極める - Qiita

                                                                本投稿の個別の説明( Optional とは何か、 ?. と map, flatMap の関係、その背後にあるモナドという概念)は 2017 年現在でも通用するものですが、 Swift の Optional の使い方としては、僕の考えとのズレが大きくなってきました。 Swift の Optional をいつ・どのように使うべきかについてもまとめた ので、そちらも併せて御覧下さい。 Optional は Swift の仕様の中でもっとも素晴らしいものの一つだと、僕は考えています。 null参照 (多くの言語で nil や null と呼ばれるもの)を発明したトニー・ホーアは次のように述べています[^1]。 それは10億ドルにも相当する私の誤りだ。null参照を発明したのは1965年のことだった。(中略)これは後に数え切れない過ち、脆弱性、システムクラッシュを引き起こし、過去40年間で10億ド

                                                                  SwiftのOptional型を極める - Qiita
                                                                • 箱で考えるFunctor、ApplicativeそしてMonad

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

                                                                    箱で考えるFunctor、ApplicativeそしてMonad
                                                                  • https://ubiteku.oinker.me/2016/01/20/%E9%96%A2%E6%95%B0%E5%9E%8B%E3%81%A4%E3%81%BE%E3%81%BF%E9%A3%9F%E3%81%84-%E3%83%A2%E3%83%8A%E3%83%89%E3%81%8C%E9%9B%A3%E3%81%97%E3%81%84%E3%81%A8%E6%80%9D%E3%82%8F%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B/

                                                                      https://ubiteku.oinker.me/2016/01/20/%E9%96%A2%E6%95%B0%E5%9E%8B%E3%81%A4%E3%81%BE%E3%81%BF%E9%A3%9F%E3%81%84-%E3%83%A2%E3%83%8A%E3%83%89%E3%81%8C%E9%9B%A3%E3%81%97%E3%81%84%E3%81%A8%E6%80%9D%E3%82%8F%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B/
                                                                    • https://qiita.com/lambdalice/items/124199b62d66d7c745a1

                                                                      • Iterator パターンの本質 · eed3si9n

                                                                        2011-12-17 これは Scala Advent Calendar 2011 の 17日目の記事です。 specs2 の作者であり、@etorreborre としても活発に発言を続けるシドニーの強豪 Eric Torreborre さんが書いた “The Essence of the Iterator Pattern” を翻訳しました。翻訳の公開は本人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2011年6月24日 Eric Torreborre 著 2011年12月17日 e.e d3si9n 訳 去年読んだ論文で一番気に入ったのは “The Essence of the Iterator Pattern”(以下、EIP)だ。これを読んだ後で、今まで何年も使い続けてきたあるものに対する考えがガラリと変わった。それは、for ループだ。 この論文の中からいくつか

                                                                        • 【ScalaMatsuriセッション当選御礼】ドワンゴ秘伝のトランザクションモナドを解説! - Qiita

                                                                          このたびはScalaMatsuriのセッションに投票していただき、ありがとうございました。 今回はそのScalaMatsuriのセッションで発表予定の内容の一つであるドワンゴ秘蔵のトランザクションモナドについて解説したいと思います。 このトランザクションモナドは基本的な機能だけなら30行ほどの短いコードで記述できてしまうのですが、なかなか説明が難しい代物でして、 ScalaMatsuriの自分の発表時間内に聴衆のみなさんに理解していただくのは難しいだろうということで、先に解説記事を書くことにしました。 このトランザクションモナドは作者の名前から通称Fujitaskと呼ばれているのですが、作者の方は周りから「天才」と言われてまして、彼は常人が思いつかないようなコードを書かれるんですね。 Fujitaskは短いながらも、モナドと、サブタイピング(変位指定)と、アドホックポリモーフィズムの三つの

                                                                            【ScalaMatsuriセッション当選御礼】ドワンゴ秘伝のトランザクションモナドを解説! - Qiita
                                                                          • Functors, Applicatives, And Monads In Pictures - adit.io

                                                                            Written April 17, 2013 updated: May 20, 2013 Here's a simple value: And we know how to apply a function to this value: Simple enough. Lets extend this by saying that any value can be in a context. For now you can think of a context as a box that you can put a value in: Now when you apply a function to this value, you'll get different results depending on the context. This is the idea that Functors

                                                                            • Haskell Day2012 - 参照透過性とは何だったのか

                                                                              3. 自己紹介 • @ruicc • Ruichi Kousuke • 好きな作曲家:A. Bruckner • 好きなバイオリニスト:Hilary Hahn • 好きな言語:Haskell • 爆発すればいい言語:PHP

                                                                                Haskell Day2012 - 参照透過性とは何だったのか
                                                                              • 継続モナドによるリソース管理 - Qiita

                                                                                継続モナドって何に使うんだ問題に対する一つの例。 リソース管理の問題 プログラミングをやっていると必ずまとわり付いてくるのがリソース管理の問題です。ここで指すリソースというのは、ファイルのハンドルだとか、ソケットだとか、排他処理のためのロックだとか、グラフィックのハンドルだとかそういう話で、GCのない言語だとメモリの管理もこれに含まれるでしょうか。 言うまでもなく、リソースを確保した後はしかるべきタイミングで確実に解放してやる必要があります。しかし往々にして、現実のプログラムではリソースの解放漏れが発生してしまいます。単に解放するコードを書き忘れると言うのが一番単純でしょうもない理由ですが、それでも、C言語のようにリソース解放のための特別な仕組みを持たない言語では、これを徹底するのも結構骨の折れることだったりします。それはともかく、もう少し高尚な悩みとしては、例外との組み合わせで発生する解

                                                                                  継続モナドによるリソース管理 - Qiita
                                                                                • 絵で見るモナド · eed3si9n

                                                                                  2012-08-21 John Wiegley さんの “Monads in Pictures” を翻訳しました。翻訳の公開は本人より許諾済みです。翻訳の間違い等があれば遠慮なくご指摘ください。 2012年8月20日 John Wiegley 著 2012年8月21日 e.e d3si9n 訳 これはモナドのチュートリアルではないし、ここには数学用語も出てこない。本稿は、既にモナドを一応使えるぐらいには習った人を対象とする。視覚化することで、何のために何をやっているかが明らかになるはずだ。 関数 モナドに対する直感を得る一つの方法として関数からモナドへの抽象化をたどるというものがある。関数が何をやっているのかを簡単な絵で表してみよう。Haskell の関数の呼び出しの構文を上に、同じ演算を視覚化したものを下に置いた: 関数はある値 a を投射 (map) して別の値 b を得る。中で何が起