19th
June
2021
fp-tsとoption
fp-tsには値が存在するかどうかをデータ型として表現したOptionというものが存在する。
その紹介。
10th
June
2021
TypeScriptとHigher Kinded Type(高階型)
関数型はデータ型というものを非常に重視する。
データ型によって値をモデリングし、どういった性質のデータなのかを表現する。
更に型システムと組み合わせることでデータ型はさらなる力を得る。
型システムによってデータ型を抽象化するときに利用する型の一つにHigher Kinded Type(高階型)がある。
tsでは高階型は直接サポートされていないがそれをエンコードすることはできる。
この記事では高階型とはそもそも何なのか、それをTypeScriptでどの様に実現するかを説明する。
1st
June
2021
fp-tsとMonoid
単位元付きの二項演算を司る型クラスMonoidを紹介。
30th
May
2021
fp-tsとSemigroup
TypeScriptの関数型ライブラリのfp-tsには型クラスとしてSemigroupがいる。
その紹介。
29th
May
2021
TypeScriptと型クラス
HaskellやScalaなどの関数型言語の特徴として型クラスというものがある。
これは関数型における強力な道具の一つであり、そして何もHaskellやScalaなどの特権機構ではない。
サポートの大小はあれど他の言語でも実現できる。
そして最近ではRustやGoが型クラスに似たような思想のセマンティクスを採用していることからもわかるように非常に便利である。
この記事では型クラスの概念を理解し、それをTypeScriptで(最低限)どの様に実現することができるか説明する。
25th
May
2021
型レベル多項式の微分
以前書いた型レベル多項式をベースに型レベルに多項式の微分を実装する。
https://kazchimo.com/2021/05/19/dotty-typelevel-polynomial/