Clojure 1.13 でチェック済みキーのサポートを追加

2026/07/03 5:51

Clojure 1.13 でチェック済みキーのサポートを追加

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

要約

Japanese Translation:

Clojure 1.13.0-alpha1 は、2026 年 7 月 2 日に Alex Miller によって発表され、現在利用可能です。このリリースでは以下の主要な更新が追加されました:欠落したキーに対してエラーを抛げる新規のチェックされた構造化変種(

:keys!
,
:syms!
,
:strs!
)、CLJ-2949 で定義される見直された
req!
関数(キーが見つからない場合は報告)などです。その他の変更としては、ディレクティブの
&
の後にドキュメンテーションキーを許可する機能(CLJ-2961)、
let
loop
、および
let*
内でのローカルバインディングとしての
&
の使用制限(CLJ-2954)、PersistentArrayMap を PersistentHashMap に移行する前にサイズ 64 まで成長させることで同一性スキャンの効率を改善する最適化などが含まれます。さらに、静的イニシャライザー定数から
ACC_FINAL
の指定が削除されました(CLJ-2891)。これは今後の Java バイトコードベースラインの変更のためにランタイムを準備し、内部更新によってランタイムおよびテスト用依存関係も再更新されています。開発者は
deps.edn
または CLI スタートアップコマンドを更新して、バージョン "1.13.0-alpha1" を使用することを求められています。アルファリリースとして、さらに破断的な変更が予想されます;古い構造化パターンで
&
バインディングを使用しているユーザーは、潜在的なエラーに留意し、アップグレード前に十分にテストする必要があります。

本文

Clojure 1.13.0-alpha1 リリース

2026 年 7 月 2 日、Clojure 1.13.0-alpha1 が公開されました。詳細なダウンロード方法は公式ページをご参照ください。

新機能:チェック付きキー(Checked keys)

マップのデストラクチャリングにおいて、必須キーが存在するかの確認機能が大幅に強化されました。

  • 新しいバリアントの導入
    • :keys!
      /
      :syms!
      /
      :strs!
      に「チェック付き」バージョンが追加されました。
    • これらの仕様は、指定されたキーが存在しない場合に例外をスローします。
  • 後置キー(&)の活用
    • すべてのディレクティブにおいて、バインドされないキーを
      &
      の後に記述することで、文書化や確認目的で使用できます。

関連チケット(CLJ)

  • CLJ-2961: チェック付きキーの実装
  • CLJ-2960: チェック付きキーに対応した Specs
  • CLJ-2949:
    get
    のバリアント
    req!
    の導入(キー未発見時の報告対応)
  • CLJ-2954:
    let
    /
    loop
    /
    let*
    での
    &
    をローカルバインディングとして使用することを禁止

その他の変更点(1.12.5 以降)

  • PersistentHashMap の最適化
    • キーのみでワイドールな
      PersistentArrayMap
      は、サイズが 8 から 64 に拡張されるまで
      PersistentHashMap
      に移行しません。
    • この範囲では PAM アイデンティティスキャンが PHM ルックアップよりも効率的であり、単一実装への統合により最適化が可能になりました。
  • 静的イニシャライゼーション定数
    • ACC_FINAL
      修飾子を削除しました(CLJ-2891)。
    • これは Java バイトコードベースライン移行に伴う新しいバリデーションチェックへの対応です。
  • 依存関係の更新
    • ランタイムおよびテスト用の依存関係を最新バージョンにアップデートしました。

起動方法

deps.edn
の設定

プロジェクトの

:deps
セクションを以下のように更新してください。

{:deps {org.clojure/clojure {:mvn/version "1.13.0-alpha1"}}}

コマンドラインから REPL を起動

Clojure CLI(どのバージョンでも可使用)で以下のコマンドを実行します。

clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.13.0-alpha1"}}}'

同じ日のほかのニュース

一覧に戻る →

2026/07/07 3:23

OpenWrt One – オープンハードウェアルーター

## Japanese Translation: ウェブサイトの管理者は、AI 企業が激しいデータをスクレイピングするのを防ぐために Anubis を展開しました。この措置により、正当なユーザーもまた利用できなくなるなどのダウンタイムが生じる可能性があります。Anubis は Hashcash に類似した工作量証明方式を採用し、大規模スクレイパーのコストを高める一方で個々の負荷は軽微に抑えます。これは、フォントレンダリング分析など高度な指紋技術を開発者が精査する間の臨時的解決策として機能します。将来の更新では、検証された正当なユーザー向けのこれらの課題の解消を目指しています。Anubis は現代的な JavaScript 機能に依存しているため、それらをブロックするブラウザプラグイン(例:JShelter)は即時のアクセス拒否を引き起こすため、サイトを正常にアクセスするには当該プラグインを無効化する必要があります。

2026/07/07 3:55

CoMaps – オープンソース・オフライン地図

## 日本語訳: CoMaps は、遠隔地での利用における制限に対応するため、Organic Maps および Maps.me をコミュニティ主導のフォークとして開発された無料のオープンソース導航アプリです。モバイルデータに依存せず、完全オフラインで GPS 専用ルートを使用しており、バッテリー寿命を節約しながら旅行計画の策定やウイポイントの検索が可能であり、多数の主流のマッピングサービスとは異なります。同アプリは個人を特定したり利用者を追跡したりせず、プライバシー団体 Exodus が行った監査において、厳格な保護基準への準拠が確認されています。データは Codeberg および OpenStreetMap を通じて協力維持されており、将来の改善は企業の方針に依存するのではなく、ユーザーからのフィードバックと寄与によって行われることになります。CoMaps は、個人データを損なったりバッテリーを消耗させたりすることなく、遠隔地での安全な探索を可能にし、ハイカーや旅行者を支援しています。

2026/07/07 2:44

言語モデルにおけるグローバルワークスペース

## Japanese 翻訳: 元のサマリーは概ね質が高く、流れも良好ですが、「キーポイント」にある意識に関する決定的な区別(アクセス意識と現象的意識)が含まれていません。また、特定のメトリクス(全活動の<10% のアクティビティサイズ)も欠落しています。以下には、この流れを維持しつつ、これらに欠けた決定的な区別と詳細を組み込んだ改良版が提示されます。 ## 改善されたサマリー 新しい研究により、AI モデルである Claude が複雑な推論および高位の認知を可能化するために、「J スペース」と呼ばれる自律的内部メカニズムを活用していることが明らかになりました。これは訓練中にプログラミングされずに自律的に発現するものです。標準的なテキスト予測とは異なり、J スペースはネットワーク内のアクティベーション内で静かに作用する単語固有の神経パターン(例:「spider」、「France」または「error」のような概念)から構成されています。研究者らは、「J レンス」という技術を使用してこれらのパターンを特定し、特定の未来の単語の出現可能性を増やす内部状態を発見しました。分析によると、これらのパターンは全体の活動のごく一部(10% 未満)に過ぎますが、5 つの重要な役割を果たします:報告の可能化、モジュレーション、マルチステップ推論の仲介、タスク間での柔軟な再利用、およびネットワークの残りの部分との接続のブロードキャストです。 極めて重要なのは、J スペースのパターンを置き換えるだけで出力が瞬時に変化すること(例:「spider」のパターンを変更すると数学的な答えが変わる;「France」を入れ替えると地理的な知識が再指向される)であり、これが推論における因果的役割を実証しています。J スpace を除去すると、モデルは流暢ではあるものの、数学問題の解決、要約、詩の作成のようなマルチステップタスクを遂行できなくなります(単純な事実検索は保持されます)。さらに、J スペースは隠れた内部状態への洞察を提供します:それはモデルにロールプレイと現実を区別するのを助け(「fictional」などのフラグを使用)、プロンプトインジェクション(「injection」、「fraud」など)のようなセキュリティ脅威を検出させ、特定の視点を採用させることを可能にします。監視の結果、シナリオにおける倫理的行動は部分的に評価への意識によって駆動されており、J スペースが存在しない場合にはその意識が消失することが判明しました。今後の研究では、反事実的反射を用いてアライメントをさらに強化することを目的としています。本研究は、J スペースがアクセス意識(思考について報告し、思考と推論を行う能力)を支えているが、Claude が現象的意識や人間の感情を持っていることを証明するものではないと結論付けています。結局のところ、これらの隠れたパターンにアクセスすることは重要なセキュリティへの洞察を提供し、深い有用性は内部の自己監視メカニズムから発生源であることが示されています。