New Year Protocol 2016
2016-01-01 / [note]
技術関連での2015まとめ。
2015年 振り返り
ポイントを絞って。
Haskell
Freeモナドベースの設計パターンを覚える。
-- f: 問題領域上での操作を表すDSLのAST
-- a: DSLを評価した結果生成される値の型
Free f a
特定の目的を持ったモジュールを作る場合は、とにかくf :: * -> *
に適用される
データ型を定義していくのが設計のメイン作業になる。
5 Ways to Test Applications that Access a Database in Haskell
さらにfp in scalaでは自然変換を用いてf
を別の意味論g
へと変換することで、f
に拡張性を持たせていく手段を学んだ。
下記の例だとList
やOption
がFree f a
のf
に相当し、List a -> Option a
はf a -> g a
という自然変換を構成する。
List a -> Option a
↓
f a -> g a
AST定義をする流れでGADTの効果を実感する。
React.js
社内向けのプロダクトで導入。サポートするユースケースが増えていくに連れてStoreが複雑になっていく。 自然とReduxアーキテクチャが正しいように思いはじめる。
数学
まずは基礎となる記号と論理を学ぶ。 「数学は言葉」という素晴らしい本に出会ったのです!(テンション上がる)
2016年 抱負
-
家計を管理するための自前アプリがほしいので、Haskellで書いてる。 データの解析と可視化はPythonのツールチェインを使いたいので……PythonのpandasやNumPyを使う。
-
データの入力部分はElmで行きたい。
-
「型システム入門」を読み切る。(無理かな……)