勉強日記

チラ裏

関数型プログラミング

すごいH本 Ch1 Starting Out

learnyouahaskell.com Starting Out Calling Functions Baby's First Functions An Intro to Lists Concatenation Accessing List Elements Lists Inside Lists Comparing Lists More List Operations Texas Ranges I'm a list Comprehension Tuples Using T…

Laravel/Collection 勉強会資料 関数型プログラミングについて語る

weeyble-php.connpass.com 3/25勉強会資料 そもそもCollectionって何 配列データ操作の比較 手続き型 for文使う例 「わちゃっ」としている例 ステップ分けた例 関数型 (PHP組み込み) 高階関数 array_map array_reduce array_filter 実装例 一時変数あり 一時…

JavaScriptでApplicative Style

book.impress.co.jp この本でApplicativeが全く出てこなかったので 参考: Functors, Applicatives, And Monads In Pictures // a -> a const identity = x => x; // a -> b -> a const const_ = c => _ => c; // 関数合成 const compose = function (/* func…

JavaScript関数型プログラミング Ch.8 非同期イベント/データのための関数型手法

book.impress.co.jp まえがき 非同期コードの課題 関数間の時間的な依存関係 コールバックピラミッドに陥る 継続渡しスタイルを使う 【補】継続渡しスタイル コールバック地獄のリファクタ Promiseによる第一級非同期処理 【補】ECMAScriptのPromiseは厳密に…

JavaScript関数型プログラミング Ch.7 関数型コードの最適化

book.impress.co.jp まえがき 関数実行の中身を調べる 再帰コードの問題点 遅延評価を使用して実行を遅らせる alternation関数コンビネータ(OR)により不要な計算を避ける ショートカットフュージョンを利用する "必要に応じて呼び出す"戦略を実現する メモ化…

JavaScript関数型プログラミング Ch.6 関数型コードのテスト

book.impress.co.jp Part3 関数型のスキルを磨く まえがき ユニットテストへの関数型プログラミングの影響 命令型プログラムのテストにおける課題 単純なタスクを特定して分解することの困難さ 共有リソースへの依存は不一致な結果をもたらす あらかじめ定義…

JavaScript関数型プログラミング Ch.5 複雑性を抑えるデザインパターン

book.impress.co.jp まえがき 例外の問題 適切な使いどころ nullチェックの問題 より優れたソリューション:ファンクター 安全ではない値のラッピング ファンクターの詳細 処理の流れ 実は今まで使ってました Functor則 ファンクターの限界 モナドを使った関…

JavaScript関数型プログラミング Ch.4 モジュール化によるコードの再利用

book.impress.co.jp まえがき メソッドチェーンと関数パイプライン メソッドをまとめてチェーンにする 関数をパイプライン状に配置する 互換性のある関数のための要件 型互換の関数 関数とアリティ:タプルの場合 カリー化された関数評価 関数インタフェース…

JavaScript関数型プログラミング Ch.3 データ構造の数を減らし、操作の数を増やす

アプリケーションの制御フローを理解する メソッドチェーン 関数チェーン コードを把握する 宣言型および遅延関数チェーン SQLライクなデータ:関数としてのデータ 再帰的に考えることを学ぶ アプリケーションの制御フローを理解する 宣言的プログラミング。…

JavaScript関数型プログラミング Ch.2 関数型言語としてのJavaScript

book.impress.co.jp なぜJavaScriptなのか 関数型プログラミングvsオブジェクト指向プログラミング 状態管理 オブジェクトを値として使う 深いフリーズ レンズ 関数 クロージャとスコープ まとめ なぜJavaScriptなのか 最も広範に使われている言語 Webの言語…

JavaScript関数型プログラミング Ch.1 関数型で思考する

book.impress.co.jp Becoming functional まえがき 関数型プログラミングとは何か 関数型プログラミングは宣言型である 処理がどのように実装されているか、データがどのように流れるかを明示している例 宣言的である例 純粋関数と副作用問題 純粋関数 (外か…