
TypeScriptと型クラス
HaskellやScalaなどの関数型言語の特徴として型クラスというものがある。 これは関数型における強力な道具の一つであり、そして何もHaskellやScalaなどの特権機構ではない。 サポートの大小はあれど他の言語でも実現できる。 そし...
株式会社KDOTの開発情報ポータル

HaskellやScalaなどの関数型言語の特徴として型クラスというものがある。 これは関数型における強力な道具の一つであり、そして何もHaskellやScalaなどの特権機構ではない。 サポートの大小はあれど他の言語でも実現できる。 そし...

以前書いた型レベル多項式をベースに型レベルに多項式の微分を実装する。 https://kazchimo.com/2021/05/19/dotty-typelevel-polynomial/ 多項式の定義とヘルパー型 以前の記事の再掲になるが...

scala3で登場したpolyfunctionを用いてscala2系で実現されていたpartially applied typeを改善する。 問題設定 例えばリテラル型を幽霊型として用いて、長さの情報を型レベルで保持するSizedListを...

\[mathjax\] dottyの柔軟な型を利用して型レベルの多項式とその一般の足し算を定義する。 多項式の定式化 まずはenumを用いて多項式の要素を型に落とし込む。 必要な要素は項とその足し算だ。 Xが項、Plusがその足し算を表して...

dottyの型システムに現れた強力な機能の一つにMatch Typeがある。 これによって2系のscalaだと信じられないくらい複雑なコードが必要だったものが簡潔になる。 Match Typeとは 受け取った型にパターンマッチをかけて指定の...

dottyでは型に対してコンパイル時に行える操作が色々増えている。 特にリテラル型に当たるものは値レベルの操作と遜色無いものが用意されている。 コンパイル時オペレーションの中でもscala.compiletime.ops以下に当たるパッケー...

scala3にはリテラル型がある。 実はだいぶ前からすでに存在していたのだが、そのサポートがより一層厚くなった。 リテラル型はTypeScriptによって広く一般に知れ渡り、その有用性が実証された。 例えばリテラル型を使用することでType...

随時更新です。 プログラミング言語 みんなのPyton 初心者から読めて、実用的な実装例まで書かれている。 pythonでプログラミング始めたい人におすすめ。 たのしいRuby 第6版 ノンプロでも読める感じのRuby初心者向け本。 プログ...

評価★★★★☆ Dockerとそれを取り巻く技術群についてよくまとまっている 特にFargateなど ただし、実際にプロダクション環境で使用するには他に調査・実践が必要であろうと思う 読んで得られるもの Docker, docker-com...

shapelessとかを使って型レベルプログラミングしてるとAuxパターンを使ってメソッドの型シグネチャで計算を表現することになる。 しかしこれが結構曲者でscalaのコンパイラの残念さもあり結構大変である。 その際に起こるコンパイルエラー...

style guideにそう書いてある。 https://google.github.io/styleguide/tsguide.html#interfaces-vs-type-aliases 理由はinterfaceが好まれるテクニカルな...

関数型やってるとよく聞く代数的データ型(ADT)について。 Scalaやってるとよく使うがHaskellほどこの話題について掘った記事はあんまりないのでdigっていきたい。 そもそも代数的データ型とは 具体例 こういうやつ。 なぜ代数的デー...

このドキュメントでordersky先生がscala3に入りそうなchecked exceptionのモチベを説明してくれていて、面白かったので紹介する。 該当のプルリク。 例外か否か 例外使うと正常系と異常系のパス別れてハッピーだよねみたい...

svg要素を包むコンポーネントにonMouseLeaveを指定してコンポーネントから出たときにアクションを発火させたかったのだがうまく動かなかった。 具体的には素早くカーソルを動かすと、イベントを拾ってくれないようで想定した挙動が起こらない...

評価 ★★★★☆ shellの基本がまんべんなく抑えられたいい本 どのコマンドも書き方、導出が統一されていて読むのにストレスが無い 例も豊富なので最悪例だけ見とけばオッケー 章の順番的に少し分かりづらかったのでそこだけが残念(最後の方の変数...

評価★★★☆☆ LinuxがどのようにOSとしての機能を実現しているか簡潔に述べられている OS以外にもCPU・メモリ・HDDなどハードウェアについても一通り述べられている 概念に対して豊富な例がある プロセスなど言葉では理解し辛い概念が図...