概要

HuaweiのEdinburgh研究センターのDan Ghica教授が中心となって開発した新しいオープンソースコンパイル言語「Cangjie(仓颉、日本語読み:そうけつ)」がInfoQで詳しく紹介された。Cangjieは、Java・Kotlin・Swiftの現代的な代替を目指して設計されており、Huaweiのモバイル・IoTエコシステムへの組み込みが期待されている。この言語はすでに中国の80以上の大学で教育に活用されており、Eclipse Foundationのフラッグシップカンファレンス「OCX 2026」(ブリュッセル開催)でも発表された。

Cangjieの主な特徴として、静的型付けとパターンマッチング、並行ガベージコレクション、代数的データ型(ADT)、マクロとアノテーションによるメタプログラミングが挙げられる。対応プラットフォームはLinux・macOS・Windows・Android・iOS・HarmonyOSと幅広く、Huaweiのマルチプラットフォーム戦略を支える言語として位置づけられている。

エフェクトハンドラー——最も注目すべき革新

Cangjieにおいて学術的に最も注目を集めているのが「エフェクトハンドラー(Effect Handlers)」機能だ。エフェクトハンドラーは、例外処理と動的バインディングを一般化する仕組みで、performresumeという新キーワードを導入し、従来のtry/catchブロックをtry/catch/handle/finallyという拡張された構造で置き換える。現時点では実験的な機能として積極的に開発が進められている。

この機能が実現するユースケースは多岐にわたる。非決定性・バックトラッキング、スケジューリング・依存性注入、テスト用のモッキング・設定、例外処理、キャッシング・メモ化などが代表的な用途だ。具体例として挙げられるのがロギング機能で、エフェクトハンドラーを利用することでライブラリが実行環境(デスクトップ・モバイル・IoTデバイス・スマートウォッチ等)に応じてログ動作を自動的に適応させることができ、複雑な条件分岐ロジックを記述することなく環境別の動作を実現できる。

背景と今後の展望

Cangjieの設計思想は、関数型プログラミングと命令型プログラミングの融合にある。代数的データ型はHaskellやRustなどの関数型言語で一般的な概念であり、エフェクトハンドラーはEffectやKokaなどの研究言語で注目されてきた機能を実用的なアプリ開発言語に取り込んだものだ。これらのアカデミックな機能を産業利用を念頭に置いた言語に統合した点が、Cangjieのユニークな立ち位置を形成している。

HuaweiはCangjieをHarmonyOSエコシステムの主要言語の一つとして育てる意向があるとみられ、中国国内の大学教育への浸透はその裾野を広げるための戦略的な取り組みと考えられる。エフェクトハンドラーは引き続き実験的な段階にあるものの、安定化が進めば副作用管理の新たなパラダイムとしてより広いコミュニティへの普及が期待される。