タグ

functionalに関するsbg3のブックマーク (8)

  • Haskellによる関数プログラミングの思考法 - asciidwango

    関数プログラミングの考え方・思考法を学ぶ! 関数プログラミングが最高の技法である理由は、関数プログラムを数学的に考察できる点にある。書を読むことで、関数プログラミングの質を身に着け、Haskellの真の能力を理解できるだろう。 Richard Bird 著 山下伸夫 訳 定価:3,024円(体2,800円) 発売日:2017年2月28日 形態:B5変型版(336ページ) ISBN:978-4-04-893053-6 Amazonで購入する サポート/追加情報 ◆関数プログラミングの思考法を伝える教科書! 書では、「関数と関数適用を使ってプログラムを構成する」「数学で用いる 単純な記法で問題を簡潔明快に記述する」「単純な数学を基盤とし等式論証を用いてプログラムの性質に関して証明やプログラム運算する(意味を変えることなくプログラムを変換する)」ことで、意図どおり正しく合理的な時間で動作

    Haskellによる関数プログラミングの思考法 - asciidwango
  • 関数型プログラミングはまず考え方から理解しよう

    関数型プログラミングが注目されて久しいです。 そろそろ勉強しておかないとなぁということで調べてみるものの、情報として出てくるのは"高階関数","カリー化","遅延評価","モナド"などの物々しい単語の数々。これらを勉強して理解した気になったものの、プログラムを書こうと思うと全然書けませんでした。 結局、関数型言語を実現する手段を学ぶ前に関数型と言われるパラダイムを理解しないことには書けません。ということでここでは関数型プログラミングの"手法"ではなく、オブジェクト指向と関数型プログラミングを比較しながら考え方の違いを見ていきます。 日の例題 プログラミング課題を設定してオブジェクト指向と関数型で解答してみましょう。 課題: 唐揚げ弁当がいくつかあるとします。それぞれ唐揚げが複数入っています。 この中からx個の唐揚げをつまみいするプログラムを作りましょう。 つまみいはバレないようにする

    関数型プログラミングはまず考え方から理解しよう
  • マルチコア時代のプログラマは関数脳になろう〜Java8のススメ〜 - Tech-Sketch

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

  • Haskellの講義に関するQ&A - あどけない話

    岡山大学で、関数プログラミングの講義を一コマ担当しました。資料は、函数プログラミングの集いで使った関数プログラミングの道しるべを流用しました。ちゃんと用意しなくて、講義を受けた学生には申し訳ないです。 講義内容に関して質問を頂きました。同じような疑問を持つ人も多いと思いますので、担当教官の許可を得てここに公開します。 永続データプログラミングの意義は分かったが,破壊しないと効率が悪いのではないですか.配列のような構造が世の中には多い気がします.メモリは足りなくなりませんか. 基的に永続と呼ばれているデータは、共有の効率が高く、しかも不要になった部分はすぐに GC に回収されます。また、GHC の GC はすごく優秀であることが知られています。 Haskell では、下位のレイヤーではデータを破壊できて、たとえば固定長のバッファーを使い回すといったことも可能です。ただ、それは普通のプログラ

    Haskellの講義に関するQ&A - あどけない話
  • なぜ次に学ぶ言語は関数型であるべきか - YAMAGUCHI::weblog

    はじめに こんにちは、Python界の情弱です。ちょっと前にOCaml系のエントリを色々と眺めていたらYaron Minsky氏のエントリを見つけたので翻訳してみました。 OCaml for the Masses - ACM Queue Yaron Minsky氏はJane Streetで第一線で活躍されるエンジニアで、Jane Streetの技術ページをはじめ多くの場所でOCamlに関しての知見を語ってくださっています。 Jane Street Tech Blogs エントリはJohn Hughesの名エントリ「なぜ関数プログラミングは重要か」を受けてACM Queueに寄稿されたものの日語訳です。 なぜ関数プログラミングは重要か Why the next language you learn should be functional YARON MINSKY, JANE STREE

    なぜ次に学ぶ言語は関数型であるべきか - YAMAGUCHI::weblog
  • InfoQ: いま日本で、関数プログラミングが熱い 「函数プログラミングの集い」レポート

    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が最近リリースされ、重要な変...

    InfoQ: いま日本で、関数プログラミングが熱い 「函数プログラミングの集い」レポート
  • 第14回 関数脳のつくり方 Second Season ~モナドで悟りをひらく~

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

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

    大手SIベンダにてSEやPMやアーキテクトとして勤務したのち,現在は株式会社豆蔵のチーフコンサルタント。主に超上流のプロセスである要求開発やオブジェクト指向,アジャイル開発のコンサルタントとして活躍中。開発の現場にこだわり,開発の現場を少しでもよくしたいと日夜奮闘している。要求開発アライアンス 執行委員。著書に『オブジェクト脳のつくり方』や『eXtreme Programming実践レポート』(ともに翔泳社発行。後者は共著)などがある。 この連載も「刺激的」な内容が続いたと思いますので,今回は関数型のコーディングに普段なれていない皆さん向けの内容をお届けします。 そんなことを書くと,まるで私も関数型バリバリ…みたいですが,全くそんなことはありません。今までは仕事Javaばかりで,昨年羽生田さんがやっているScalaに興味を持って取り組んで以来,ずっと「関数型」の考え方がよくわからなくて,

    第7回 関数脳のつくり方 First Season
  • 1