無駄と文化

実用的ブログ

2024-01-01から1年間の記事一覧

WordPress でピクロスを作問・投稿できるカスタムブロックを作った

ピクロスというパズルをご存知でしょうか。お絵描きロジック, ののぐらむ などとも呼ばれる、縦横に並んだ数字をヒントにドット絵を完成させるパズルゲームです。 WordPress でピクロスを作問・投稿するためのカスタムブロック wp-block-nonogram を作成した…

指定したキーだけを省略可能にするユーティリティタイプを書く

TypeScript は便利だ。型検査で値が保証されるのはとても頼もしい。 とはいえ場合によっては型検査を通すために不必要にタイプ量が増えてしまうことがある。 例えば下記のような型が 外部ライブラリによって生成される としよう。 type User = { __typename:…

毎年3日間だけ花粉症に罹っている【定点観測】

ここ数年、春先に鼻炎になる。「花粉症か」「自分にもついに来たか」と思って薬を飲むのだが3日ほどすると治っている。そんなことが続くので冗談めかして「毎年3日間だけ花粉症になるんです」などと言っていた。 2024年、今年も花粉症の季節がやってきた。 …

型無しラムダ計算学習用ステップ評価器 skiMogul を作っている話

みなさま ラムダ計算 をご存知でしょうか。 ラムダ計算はある種の関数型プログラミング言語の体系で、変数と関数, そして関数適用というミニマルな構成要素だけでチューリング完全な表現力を持っています。 この記事では、ラムダ計算の中でも特に単純な 型無…

Rust はコストのかかるコードを書くのが苦痛になるようにデザインされている(?)

Rust は「コストのかかるコードは書くのが苦痛であるべき」という思想のもとデザインされている気がする。 というのも Rust を書いていると「意図的にショートカットが用意されていない」と思える場面があるからだ。 いくつか例を挙げてみようと思う。 文字…

二重数を使って2階微分を計算する方法 と 超二重数への発展

二重数という数があります。「その数自体は0でないのに2乗すると0になる数」のことを二重数と呼びます。 実数の範囲で を満たす は のみなので、 でかつ となるような数があるならばそれは 実数ではない ということになります。 そのような実数ではない数 の…

ラムダ式に含まれる全ての部分式に一意かつ列挙可能なタグを付与する方法

ラムダ式に含まれる全ての部分式に一意かつ列挙可能なタグを付与する方法について考察する。 導入 例として次のラムダ式について考える。 ````ABC``DEF`GH この式を二分木で書くと以下のようになる。 graph TB; a1((app))---a2((app)) a2((app))---a3((app))…