ClojureScript、コンパイラで async/await をネイティブサポート──JS 相互運用性を強化
ClojureScript 1.12.145 リリースにより、^:async メタデータと await マクロを用いた JavaScript async/await への直接コンパイルが可能になった。
リリース: 2026-05-07 · 読了 2 分何が起きた
バージョン 1.12.145 において、ECMAScript 2016 をターゲットとしたコンパイル設定が導入された。
関数定義に ^:async を付与することで、コンパイラが JavaScript の async function を直接出力する仕組みを実装。
Clojure ユーザー調査で最も要望の多かった「JavaScript 相互運用における非同期サポート」に対応し、外部依存を削減。
なぜ重要
これまで Promise 処理に必須だった core.async 等のライブラリが不要になり、ランタイムサイズと学習コストを同時に削減できる。
モダンなブラウザ API や npm ライブラリを、JavaScript 標準に近い直感的な記法で直接呼び出せるようになる。
👁️ 開発者
ClojureScript 開発者は、マクロによる複雑なラップを介さず Promise ベースのエコシステムを統合できるため、コードの保守性とデバッグの容易性が向上する。
🇯🇵 日本
ClojureScript を選定している国内の金融系スタートアップやデータ分析ツール開発チームは、TypeScript 向けに書かれた最新ライブラリの取り込み障壁を下げ、開発速度を改善できる。