HaskellとJavaScriptの学習を兼ねて、TypeScriptでState Monadを実装してみた。 Monad理解への第1歩は、State Monadに限る(ということにしよう)。 今回の目標 TypeScriptでState Monadを実装し、副作用のないスタックを実装する。 TypeScript http://www.typescriptlang.org/ 特徴 Microsoft製のJavaScriptのスーパーセット 静的型付け言語(ジェネリックスがある!) クラス アロー関数式 今回は静的型付けが重要。 これがないと引数の意味が伝わらない。 今回初めて使用する。 State Monad(Haskell) 特徴 状態付き計算を保管することで、副作用を無くす。 State Monad関連の実装する部分