The pattern Some recursive functions wrap their self-call in an associative operator. fun countDown(n: Int): Int { if (n == 0) return 0 return 1 + countDown(n - 1) } countDown(n - 1) is...
Kotlin/Wasm: Tail Modulo Cons Lowering
Overview Tail Modulo Cons (Bour, Clément, Scherer) rewrites recursion whose result feeds a constructor into destination-passing style, turning the recursive call into a true tail call. OCaml 4.14 ...
Kotlin/Wasm Tail Calls: What We Can and Can't Optimize Today
Patterns that are optimized Static dispatch PR #2 makes any direct function call in tail position emit return_call instead of call. fun isEven(n: Int): Boolean { if (n == 0) return true ...
Benchmarking Kotlin/Wasm Tail Calls on Real Projects
Summary The Kotlin/Wasm tail call PR emits native Wasm return_call / return_call_ref at tail-position call sites. Microbenchmarks confirmed the expected speedup for deep recursion. However, applyi...
GSoC 2026: Native Wasm Tail Call Support in the Kotlin/Wasm Backend
Overview The goal of the project is to let the Kotlin/Wasm backend emit native Wasm tail call instructions (return_call and return_call_ref) at call sites that the existing tailrec lowering cannot...
自宅の Raspberry Pi で立てているサービスを Cloudflare Zero Trust で公開する
動機 前回記事 までで、自宅鯖で動く生活管理用のタイマーを完成させることができた。末尾に記したように外出先からアクセスできないという問題点があるため、Raspberry Pi の local で動かしているサービスを外部に公開できないかと考えていた。 May 5, 2023 IP アドレス固定するのとかポートフォワーディングするのとか大変だしリスクも高いしなあ~と思ってダラダラ ...
ポモドーロ変法タイマーの実装 (3)
動機 前回記事 では、ポモドーロタイマーを家の Raspberry Pi で作動させるようにしたうえで、休憩を長く取りすぎていると鬼電がかかってくるようにした。今回は、前回記事に課題として記した タイマーを work モードにしたまま、SNS を閲覧するなど怠惰な時間を過ごしてしまう そもそもタイマーを開始するのを忘れる の 2 点を解決していく。具体的には、 タイ...
ポモドーロ変法タイマーの実装 (2)
動機 前回記事 ではブラウザ上で動くポモドーロ変法 (筆者が勝手に命名した) を実装したわけだが、末尾に課題として記したように 端末自体がスリープされるとカウントダウン自体がストップしてしまう 休憩可能時間をオーバーした際、アラームが鳴っていたとしても離席中やそもそもブラウザを開いていないタイミングでは気づくことができない という問題が残っていた。本稿では上記の点の改善とし...
ポモドーロ変法タイマーの実装 (1)
動機 年末年始は当直で病院に釘付けであったため、この隙を利用して某レポート (55 症例でなんと A4 図無し 110 ページ!) を片づけることとした。が、いかんせん内容があまりにも面白くなさすぎるという問題があり、執筆中に意識散漫になるわ適当な理由をつけてやたら長い休憩を取ってしまうわで集中とは程遠い状態であった。 これを改善するために、ネット上でたまたま見かけた作業効率化用テクニッ...
YouTube の再生リストをシャッフル / 逆順で再生させる
TL;DR 概要: YouTube のプレイリストをシャッフル再生したり、逆順で再生したりする web サービス (これ) を作った。自分が高評価した動画のリストや非公開プレイリストでも利用できるのが特徴。 環境: 拡張機能 Tampermonkey のインストールが可能なブラウザ (PC 上からの閲覧を想定) 使い方: 拡張機能 Tampermonkey...