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 向けに書かれた最新ライブラリの取り込み障壁を下げ、開発速度を改善できる。