Learning Functional Programming (01)
2014-09-09 /
この投稿は私が関数型プログラミングを学ぶ上で参考になった情報や、学習のポイントをまとめたものです。
あつかう言語
- Scala
- Haskell
これまで使った技術
アプリケーション
- Java and JavaEE 6
- Python
- Javascript
ネットワーク
- MPLS
- Openflow
これから使っていきたい技術
アプリケーション
- Scalaz
- Scalaz-Stream
- Template Haskell (Macro)
- WebSocketサーバ
- XMPPサーバ
ネットワーク
- OpenFlow 1.3
- Path Computation Element Protocol
- Border Gateway Protocol (and LinkState extension)
- Locator Identifier Separation Protocol
目標
ネットワークプロトコルのフレームをSerialize/DesirializeできるようなeDSLの作成
これまでのポイント
- とりあえずScalaやHaskellでの型設計はけっこう難しいと感じる
- 変にOOPっぽさが残るので混乱をきたす
- 基本的な関数型プログラミングの道具箱(filter, fold, map)を身につける
- リスト処理には慣れる
- しばらくPythonを書いて静的型付けへの揺り戻しが起こる
- Haskellを使って自分用のTODO管理ツールを作成中