Jolt:Chez Scheme で実装された Clojure コンパイラ

2026/08/09 2:38

Jolt:Chez Scheme で実装された Clojure コンパイラ

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

原文のサマリーは、提供されたキーポイントに基づいて高品質で明確かつ網羅的です。詳細なリストを効果的に一貫した物語へと統合しています。改善は必要ありません。

サマリー:

このテキストは主に Jolt を紹介します。Jolt は自己ホスト可能な Clojure の実装であり、標準的な JVM やその重厚な依存関係の必要性なくネイティブバイナリまたは JavaScript へ直接コンパイルします。この設計は、永続データ構造(ベクター、マップ、cons リスト)、遅延/無限シーケンス、トランスデューサーといったコアの Clojure セマンティクスを保持しながら、Java インタロプレーション、反射、および

gen-class/proxy
機能を回避することを望む開発者向けに、移植性の高い代替手段を提供します。インストールは Homebrew またはインストーリースクリプトを通じて Linux および macOS で直ちに可能で、nREPL を通じたライブリローディングによって開発ワークフローがサポートされ、再起動なしでの即時な変数の再定義を許可します。ユーザーは
run
を用いてプロジェクトを直接実行したり、
build
を用いてスタンドアロンのアプリケーションを構築したり、REPL 式を実行したりできます。数値型に関して、Jolt は整数、大整数、比、flonum ダブルを含む正確算術のタワーをサポートしています(ただし
BigDecimal
は除く)。また、Java の標準ライブラリではなく
irregex
を使用することで正規表現の機能を意図的に制限します。さらに、Jolt は Gambit バックエンドを通じて JavaScript にコンパイルでき、ブラウザでの利用が可能ですが、これらの小型ビルドは低ダウンロードサイズを維持するために正規表現といった高度な機能を省略する場合があります。結局のところ、Jolt は特定の数値精度に関する機能制限(BigDecimal なし)および Java 互換性を認めた上で、インフラストラクチャのオーバーヘッド削減を求めるチームに速度と移植性をもたらします。

本文

Jolt:自己管理型 Clojure システムの概要

Jolt は JVM の依存を排除した、自己管理型の Clojure 実装システムです。ビルドステップが不要で、ほぼすべてのポータブルな Clojure コードを変更せずに動作します。

技術的特徴と実行環境

  • 実行エンジン: Chez Scheme(ネイティブ)または Gambit Scheme(JavaScript 向け)を使用し、JVM は不要です。
  • 自己コンパイル: コンパイラ自体が Clojure で記述されており、システムは自己コンパイル可能です。
  • 真の並行処理: OS レベルのスレッド上で動作します。
    • future
      agent
      pmap
      core.async
      などの機能は JVM と同等の挙動を提供します。
    • 共有ヒープ上での実行を支援します。

スタンドアローンバイナリ(単一ファイル)

jolt build
コマンドにより、ランタイムライブラリや依存関係(deps)を含む単一の自立型実行ファイルを生成できます。

  • 即座の実行: 生成されたバイナリを実行するには Chez Scheme や JVM は一切不要です。
  • 簡素化ビルド: ブラウザ環境での実行用には「簡素化されたビルド」が使用されますが、この環境では正規表現(regex)のサポートは未実装です。

なぜ Jolt か?

自己管理型コンパイラ

  • Clojure コードを読み込み、ホスト環境に依存しない中間表現(IR)へ解析。
  • Scheme コードとして出力し、Chez Scheme または Gambit Scheme で実行します。

スタンドアローンバイナリ

  • jolt build
    を用いてコンパイル済みの単一ファイルを作成します。
  • ソースコードやランタイム環境の別途インストールが不要です。

完全な Clojure 機能と互換性

  • データ構造: パーシステントデータ構造(ベクトル、リスト、マップ/セット)、トランシェントコレクションを実装。
  • 数値処理: 厳密な整数・大整数(bignums)、有理数(
    1/2
    )、浮動小数点数を完全サポート。
    • =
      はカテゴリーに敏感に動作。
    • ==
      は値の厳密一致を判定。
  • 言語機能: 遅延リスト、トランスデューサー、構文分解、マルチメソッド、プロトコル/レコード、ネームスペース、完全なリーダー機能など、すべて Clojure と互換性があります。

: Clojure コードの大部分は動作しますが、JVM に固有の機能(Java インタフェース、

gen-class
など)は利用できません。


クイックスタート

自立型バイナリ

jolt
をインストールしてください。これによりランタイム環境とコンパイラが一式含まれます。

インストール方法

Homebrew (macOS/Linux)

brew install jolt-lang/jolt/jolt

インストールスクリプト (Linux/macOS)

curl -sL https://raw.githubusercontent.com/jolt-lang/jolt/main/install | bash

簡単な試運転

jolt -e '(+ 1 2)'        # => 3

ソースから直接実行(Chez Scheme が必要です)

git clone --recurse-submodules https://github.com/jolt-lang/jolt.git
cd jolt
bin/jolt -e '(+ 1 2)'    # => 3

使用方法

式の評価

bin/jolt -e '(->> (range 10) (filter even?) (map (fn [x] (* x x))) (reduce +))'
# 結果: 120

bin/jolt -e '(/ 1 2)'
# 結果: 1/2

プロジェクトの実行

  • メイン実行:
    deps.edn
    を解決し
    -main
    メソッドを実行します。
    bin/jolt run -m myapp.core
    
  • 引数への対応:
    -M:test
    など、アライアスを使って標準入力として渡すことも可能です。
    bin/jolt -M:test [args]
    

スタンドアローンバイナリの生成

単一実行ファイルを生成し、どの環境でも動かします。

bin/jolt build -m myapp.core -o myapp
./myapp arg1 arg2  # 引数は -main に渡される
  • --opt
    : 最適化ビルド
  • --dev
    : 未最適化ビルド

nREPL サポート

CIDER / Calva / Cursive などの IDE との接続が可能です。

bin/jolt --nrepl-server
# .nrepl-port ファイルが自動的に生成されます
  • 変数の再定義は再起動不要で即時反映されます。

Clojure との違い (比較表)

Jolt は Clojure の语义を目標としますが、実行環境が Scheme であるため以下の相違点があります。

項目違いの詳細
Java インタフェースJVM が存在しないため、一般的な Java インタフェースやリフレクション、
gen-class
/
proxy
は利用できません。
代替として
java.*
パッケージの一部がシムされ、C FFI も利用可能です。
BigDecimal使用不可(
decimal?
が常に
false
)。
数値塔の其余部分は Clojure と一致しています。
正規表現
irregex
でコンパイルされます。
java.util.regex
の Java 固有機能とは動作が異なります(一般的なパターンは動作します)。

同じ日のほかのニュース

一覧に戻る →

2026/08/12 4:35

Nvidia Nemotron 3.5 Lightning および NeMo Switchyard

## Japanese Translation: NVIDIA は、マルチエージェントシステム内の長期間にわたるエージェント型 AI ワークロードおよび専門的なタスク向けに設計された、300 億パラメータを持つ混合物専門家(MoE)オープンモデル「Nemotron 3.5 Lightning」を発表しました。本モデルは最先端レベルの精度を提供するとともに、出力速度が最大で 4 倍高速化し、エージェント型タスクの完了速度も約 30% 向上しています。これにより、大量の実装が可能になりつつ運用コストを削減できます。本モデルは、NVIDIA NeMo を用いて組織固有のデータを用いた後学習が可能であり、Nemotron Coalitions の貢献に基づいています。また、データのプライバシーと制御を維持するため、ローカル AI システム(NVIDIA RTX PC、DGX Spark、DGX Station、Jetson)、エッジデバイス、ワークステーション、データセンター、クラウド環境への展開をサポートしています。 効率を最大化するため、NVIDIA は開発者がアプリケーションを書き直す必要なく、品質、遅延、予算に基づいて自動的にリクエストを開封モデル、プロプライエタリモデル、または NVIDIA の混合モデルの最も適したものへ導くオープンソースのインテリジェントルーティングライブラリ「NeMo Switchyard」を発表しました。パートナー企業は既に Switchyard を統合し、精度を維持しつつコスト削減を実現しています。具体的な事例としては、Boomi(ドメインルーティング精度 100%)、Ramp(コスト削減 58%)、Classmethod(コスト削減 27%)、Cognition(Devin Desktop のコスト削減 28%)があり、Kong、LangChain、LiteLLM、Nous Research、Siemens による統合も進んでいます。 業界での採用は加速しており、組織はセキュリティ対策(CrowdStrike)、法務サービス、コードレビュー、ソフトウェア開発(Harvey との Trajectory、CodeRabbit との Baseten、Lila Sciences、Fastino Labs など)といったドメイン特化のエージェント型タスクに Nemotron 3.5 Lightning をカスタマイズしています。Nemotron 3.5 Lightning は Hugging Face、ModelScope、OpenRouter、build.nvidia.com(NVIDIA NIM マイクロサービスとして)、ならびに幅広い NVIDIA クラウドパートナーのエコシステムを通じて提供可能です。一方、NeMo Switchyard は GitHub で利用可能で、近々パートナープラットフォームにも展開されます。

2026/08/12 4:49

圧縮とは予測である

## Japanese Translation: ## 概要: Annie Sexton は ngrok で開発者教育担当として在籍し、Heroku、Render、Fly.io など PaaS 企業にて 10 年以上にわたって経験を持つ人物です。彼女は、「nerd-sniping」と呼ばれる遊び心のある用語で表される開発者への情熱——すなわち共有する技術的熱情を即座に惹きつけ、彼らを魅了する能力——によって際立っています。彼女の主な価値は、複雑なクラウドインフラストラクチャとそれを構築する人間クリエイターの間を取り持つことにあります。この深い歴史的文脈とエンジニアリングの craft に対する真摯な共感を活用することで、Annie は抽象的な技術概念をアクセスしやすく魅力的な学習体験へと転換させます。これにより開発者が支えられていると感じることが保証され、混同ではなくつながりを通じて革新が育まられるエコシステムが醸成されます。

2026/08/12 1:56

Mojo 1.0

## Japanese Translation: Mojo言語のバージョン1.0がリリースされ、2023年の初リリース以来確立された安定した、プロダクション対応の基盤へと、急激な実験段階からの移行を象徴しています。1.xシリーズではC++などの成熟した言語の標準に従い、破損を引き起こすシフトを避けるために追加的な変更を優先します。約20万人のコードラインと、ほぼ200人の貢献者から寄せられた1,100以上のプルリクエストを基盤としており、一貫性のある`var`を用いた変数宣言、統合されたクロージャ、単一のPointerType、そして正確な語彙再命名といった主要な簡素化がリリースに含まれています。新しい機能には、Python風のラムダ構文、参照無効化に対する改良されたメモリ安全性診断、より優れた`where`節、VS Code向けのより安定したLSPサーバーが含まれます。開発者は今や、信頼性の高い「1.0対応」のAIスキルを使用でき、`uv pip install --upgrade mojo`または`uv pip install max[all]`などのコマンドでインストールできます。MAXの強化(GLM-5.2およびNemotron-Hへのサポートなど)は`max["serve"]`を通じて利用可能で、skills.shを通じてオープンソースのエージェントスキル7,200以上がダウンロードされ、モデル全体のライフサイクル導入を加速しています。不安定なモジュール化パッケージはバージョン26.6で廃止予定となっており、長期的耐久性に向けた完全なアーキテクチャシフトを示しています。今後の投資には非同期プログラミングモデル、パターンマッチング、ユニオンが含まれ、また2026年までにMojoコンパイラとツールチェーンの段階的なオープンソース化も進められます。Mojo、MAX、オープンソースに関する詳細および計画については、8月18日にサンフランシスコで開催されるModConにて共有され、完全な変更ログの詳細はmojolang.orgおよびGitHubリポジトリで入手可能です。

Jolt:Chez Scheme で実装された Clojure コンパイラ | そっか~ニュース