タグ

functionalに関するyassのブックマーク (15)

  • https://qiita.com/kenokabe/items/9c650ec8bcb1418c596d

  • 関数型プログラミングとは結局何なのか | 黒曜の吹き溜まり

    この記事はドワンゴ Advent Calendar 2014の14日目です。 ちなみに前日は@erukitiさんでした。 他の方は「こんなもの作ってみた!」系の記事が多いのですが、技術系の話題であれば特に縛りはないようなので、今回はひたすら文章をつらつらと綴っていきたいと思います。 ここ数年、「マルチコア時代の主流は関数型だ」とか「Javaはもう古い! 時代は関数型!」といった記事をよく見かけるようになった気がします。 大学でOCamlを学んできた自分としては嬉しい限りなのですが、なんだか関数型という言葉がバズワード的な使われ方をしている気がして、まるで「現在起こっている全ての問題を解決する銀の矢だ!」といわんばかりの雰囲気を感じるのが気になっています。 最近うちの部署でもにわかに「関数型っぽく書こう」みたいな機運が高まってることもあるので、この機に関数型プログラミングとはなにか、どのよう

  • 関数プログラミング実践入門という本を書きました - ぼくのぬまち 出張版

    是非手に取ってみて下さい.よろしくおねがいします. 関数プログラミング実践入門 ──簡潔で、正しいコードを書くために (WEB+DB PRESS plus) 作者: 大川徳之出版社/メーカー: 技術評論社発売日: 2014/11/14メディア: 単行(ソフトカバー)この商品を含むブログ (1件) を見る AgdaとかHaskell Golfのではない.いいね? どのような? これまで何らかの命令型言語に触れてきた人が「なにかと耳にするし,そろそろ関数プログラミングでも」と思いたったとき,その基的な部分を押さえるためのです.関数型言語としてはHaskellをとりあげ,またHaskellを使っていくための説明を進めていきます.関数プログラミングからプログラミングに入る人はプログラミングに対する先入観が無いのでともかくとして,既に命令型言語の経験がある人の場合,関数プログラミングの考え

    関数プログラミング実践入門という本を書きました - ぼくのぬまち 出張版
  • ラムダ計算入門

    18. 嬉しいです • f(x, y) = x • … x と y の両方を渡す必要がある • f(x)(y) = x • … x だけ渡す、という操作が可能 • この操作を部分適用と言う 19. ついでに • λx. (λy. x) は λx. λy. x と表せる • どこがどの関数か自明 • λx. λy. x は λxy. x と表せる • ただの省略記法

    ラムダ計算入門
  • ホントはこわくない関数型言語 〜関数型言語の学び方〜 - Kirikuzu Blog

    ホントはこわくない関数型言語 〜関数型言語の学び方〜 関数型言語が気になるけど難しそう。そんなふうに思ってる人は多いと思います。 ここでは初心者に毛が生えた程度の自分が感じる関数型言語を使うメリットを説明したいと思います。 関数型言語の嬉しいポイント ぬるぽがなくなる 「意識してれば」という条件付きですが、null参照が発生することはなくなります。 通常「値がない」ことを表現するためにnullを使用することが多いと思いますが、注意深くコーディングしないとすぐにnull参照してしまいます。 そもそも「値がない」ことを示すのにnullを便宜的に代用しているのが問題なのです。 ならば「値がない」ことを特別な方法によって表現できればより「値がない」ことを意識してプログラミングできると思いませんか。 関数型言語はoption型とパターンマッチによってこの問題を解決します。 パターンマッチ パターンマ

  • [OCaml][Book]プログラミングの基礎 読了

    Ruby,Lisp,Emacs,Clojure.OCaml,Haskell,Raspberry Piのメモ プログラミングの基礎 (Computer Science Library) を読んだ。 SICPに関連するブログ徘徊していたら、あちこちでお勧めされていた書籍。 冬休み+αを利用して、一通り演習問題を解きつつ、読了。 最近読んだプログラミングのの中では、一番楽しかった。 書をきちんと読んでいれば、演習問題も簡単で、すいすい読み進める。 もっと早くこのを読んでおけば良かった。 書では、一冊を通して、メトロネットワーク最短経路問題を解くプログラムを作り、 その過程で、以下の内容が学べる(目次から抜粋)。 基的なデータ 変数 関数 条件分岐 エラー 組 パターンマッチ レコード リスト 再帰処理 ダイクストラのアルゴリズム(最短経路を求めるためのアルゴリズム) 高階関数 再帰の停

  • 「オブジェクト指向プログラマが次に読む本 Scalaで学ぶ関数型入門」を読んだ - (ヽ´ω`) 

    的に関数型言語もScalaもJVM言語も初心者なのでその前提で書かせていただきます。 Scala興味なくても関数型と並列に興味がある人なら必要最低限の情報がうまく俯瞰できるようになっていて非常にいいです。関数型プログラミングの基概念の副作用、単一代入、参照透明性、カリー化、部分適用、遅延評価、クロージャー、再帰、周りが丁寧に解説されています。アクタープログラミングとパーサーコンビネーターのところもまとまっていてわかりやすかったです。 ただ、タイトルのつけ方で若干損をしている感じはした。 関数型やScalaやりたいんだけど若干敷居高いなと感じてる初心者にはおすすめかと思います。 オブジェクト指向プログラマが次に読む ?Scalaで学ぶ関数脳入門 作者: 株式会社テクノロジックアート,長瀬嘉秀,町田修一出版社/メーカー: 技術評論社発売日: 2010/11/13メディア: 単行(ソフ

    「オブジェクト指向プログラマが次に読む本 Scalaで学ぶ関数型入門」を読んだ - (ヽ´ω`) 
    yass
    yass 2014/10/05
    " 関数型と並列に興味がある人なら必要最低限の情報がうまく俯瞰できるようになっていて非常にいいです。関数型プログラミングの基本概念の副作用、単一代入、参照透明性、カリー化、部分適用、/ 周りが丁寧に解説"
  • オブジェクト指向設計の原則と関数型プログラミング

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    オブジェクト指向設計の原則と関数型プログラミング
  • 2010-12-26

    リアクティブプログラミングは、「時間とともに変化する値」=「振る舞い」同士の関係性を記述することでプログラミングを行うパラダイムです。 GUIなどのようにインタラクティブなシステムや、シミュレーションやアニメーションのようにダイナミックに状態が変化するようなシステムを宣言的に記述することができます。 これらの「変化する状態」や「外部とのやりとり」が支配的なシステムは、純粋関数型言語が、その強みを発揮しにくい部分でもあります。 稿では、リアクティブプログラミングが副作用を含む系を宣言的に記述することを可能にし、状態の管理という厄介な問題からプログラマを開放する可能性があることを示したいと思います。 (割と独自研究に基づく解釈ばかりなのでその点ご了承ください。あと例としてでてくるコードは、Pythonベースの擬似コードで具体的なライブラリに基づくものではありません。) Why Reactiv

    2010-12-26
    yass
    yass 2013/09/08
    "副作用を含むシステムをうまくモジュール化できる可能性/ 構造化プログラミングからオブジェクト指向や関数型プログラミングへの進化の歴史はモジュール性の向上の歴史/同時に「変更可能な状態」との戦いの歴史"
  • マルチコア時代のプログラマは関数脳になろう〜Java8のススメ〜 - Tech-Sketch

    CPUのクロックアップに限界が訪れ、マルチコア化することで処理性能向上を目指す時代になりました。これからのプログラマには、マルチコアで処理性能が向上するプログラム=マルチスレッドで並列処理が可能なプログラムを書く能力が必要になります。今回は「関数型」でプログラムを書くことによって、いとも簡単に並列化ができることを実例を元に解説します。 関数型プログラミングと並列処理 「関数型でプログラムを書くことで簡単に並列化できる」と書きましたが、そもそもここで言う「関数」とは何なのでしょうか? 関数型プログラミングの特徴 関数型プログラミングの「関数」を理解するためには、数学における「関数」を想像するとわかりやすいでしょう。 例えば三角関数を用いた y=cos(x) という式を考えてみます。この式に入力値 x=0 を与えた場合、いつでも必ず結果は y=1 になります。x= π/3 の場合は y =

    yass
    yass 2013/08/12
    "関数型プログラミングってなんだか面倒で難しそうですが、大きなメリットがあります。「処理が簡潔になり共通化やテストしやすいこと」や「並列化しやすいこと」などです。"
  • 関数型言語と並行処理 Haskellでのネットワークプログラミング 2013.5.24 山本和彦

    1 Haskell 2013.5.24 2 3 1988 B4 Sun 1992 4 Unix Magazine Unix Magazine UNIX RFC FYI (For Your Information) 5 IP PEM (Privacy Enhanced Mail) WIDE Project mh-e PEM 6 7 Unix Magazine PGP PGP 1 8 Mew (MIME) Mew Emacs Emacs XEmacs 9 Emacs Mew off Mew Emacs read-passwd gnu.org 10 IIJ KAME IIJ 11 KAME KAME WIDE BSD IPv6 IPsec Mobile IPv6 IIJ NEC BSD IPv6 IPsec Mobile IPv6 Mac IPv6 KAME 12 IETF Internet E

  • 「Java開発者ための関数プログラミング」が出版されました - YAMAGUCHI::weblog

    みなさま、ご無沙汰しております。1ヶ月以上ぶりのブログ更新となりました。Python界の情弱こと山口です。 この度、拙訳の「Java開発者のための関数プログラミング」という書籍がオライリー・ジャパンより電子書籍(ePub)で出版される運びとなりました。原著者はProgramming Scala(日語版「プログラミングScala」)のDean Wampler氏。 Java開発者のための関数プログラミングDean Wampler 著、山口能迪、株式会社トップスタジオ 訳 フォーマット ePub O'Reilly で詳細を見る Java開発者のための関数プログラミング - Google+ 書は、無理をしてJavaで関数プログラミングで実装してがんばろう、というではありません。一部そういうところもあるかもしれませんが、そういう方向は目指していません。あくまで関数型と呼ばれるものにはどういう概

    「Java開発者ための関数プログラミング」が出版されました - YAMAGUCHI::weblog
  • Shibu's Diary: 関数型言語を広めるためには何が必要なのか?

    By plushoff under CC BY-NC 山口さんから、「Java開発者のための関数プログラミング」の電子献をいただきました。ありがとうございます。電子書籍便利ですね。アメリカにいても日語のが手に入る!しかも、すごいこなれた日語になっているし、注釈もばっちりついて読みやすいです。仕事のできる男の風格を感じます。 人のブログ: http://ymotongpoo.hatenablog.com/entry/20120621/1340233739 オライリーの書籍ページ: http://www.oreilly.co.jp/books/9784873115405/ このを楽しく読んでいたところ、山口さんから別の面白いリンクを教えてもらいました。 Why OO Sucks (なぜオブジェクト指向はクソなのか) Erlangの開発者のJoe Armstrongの記事です。当は

  • 3月5日開催:SEA Forum March 2012:実用期を迎えた関数プログラミング-SEA HomePage

    SEA Forum in March 2012 Twitterハッシュタグ: #seaforum0305 「実用期を迎えた関数プログラミング」 — 最新動向と今後の展望 — 主催: ソフトウェア技術者協会 参加者募集 ────────────────────────────── 今月のSEAフォーラムでは,今注目を集めている関数プログラミングを取り上げます.長らくコンピュータサイエンスの研究領域にあると思われていた「関数プログラミング」は、近年,実用的なプロジェクトでの使用例が続々と報告されるようになってきました.スピーカー,パネリストには早い時期から関数プログラミングの高い生産性と品質に着目し実用システム開発に活用されている方々をお招きし,その特徴,利点および導入への注意点などを紹介して頂きます.関数プログラミングに関する予備知識は一切必要ありません. 多くの皆さまの積極的なご参加をお待

  • 「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)

    「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)

    「再代入なんて、あるわけない」 ~ふつうのプログラマが関数型言語を知るべき理由~ (Gunma.web #5 2011/05/14)
  • 1