Jank:単独開発者によるClojureランタイムでのシームレスなC++相互運用

2025-07-12
Jank:単独開発者によるClojureランタイムでのシームレスなC++相互運用

ClojureランタイムであるJankプロジェクトは、C++とのシームレスな相互運用において大きな進歩を遂げました。手動メモリ管理、強化された型システム、不透明なボックスなどの機能により、開発者はClojure内でC++コードを直接呼び出すことができます。実例として、C++ストリームを使用した「Hello, world!」の出力や、JSON for Modern C++ライブラリを使ったJSONファイルの解析などが挙げられます。今後の作業は、パッケージ化、配布、バグ修正に重点を置き、最終的にはアルファ版のリリースを目指します。

続きを読む
開発 相互運用

Clojureコードスニペット:映画ジャンルインデックスの作成

2025-07-10
Clojureコードスニペット:映画ジャンルインデックスの作成

このClojureコードスニペットは、映画ジャンルインデックスをエレガントに作成します。映画の情報(タイトル、ジャンル、Rotten Tomatoesスコア)を含むマップから開始し、`reduce`関数と`zipmap`関数を使用してジャンル別に映画を分類し、最終的にキーがジャンル、値がそのジャンルに属する映画のリストであるマップを作成します。このインデックスにより、ジャンルで映画を検索し、評価でソートすることが容易になります。たとえば、すべてのスリラー映画を見つけてRotten Tomatoesスコアでソートすることができます。コードは簡潔で効率的で、関数型プログラミングの優雅さを示しています。

続きを読む
開発