論文の概要: Pack Iteration in Swift: Ordinary Control Flow for Variadic Generics
- arxiv url: http://arxiv.org/abs/2609.28822v1
- Date: Wed, 23 Sep 2026 21:57:59 GMT
- ステータス: 翻訳完了
- システム内更新日: 2026-09-25 21:10:09.591845
- Title: Pack Iteration in Swift: Ordinary Control Flow for Variadic Generics
- Title(参考訳): Swiftのパッケージイテレーション: バイナリジェネリクスの通常の制御フロー
- Abstract要約: この記事では、Swift 6.0で導入されたPack Iterationを紹介します。
パック拡張をイテレーションの第一級ソースとして扱うことで、Swiftはハイレベル表現性と高度なジェネリックプログラミングのギャップを埋める。
コンパイル時にパックを拡張する従来のモデルとは異なり、Swiftの実装はオンデマンド評価をサポートし、効率的な動的イテレーションと短時間の制御フローを可能にする。
- 参考スコア(独自算出の注目度): 0.0
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Variadic generics are a powerful tool for type-safe meta-programming. Yet in most widely used languages, they remain an "expert-only" feature due to their reliance on complex patterns such as recursive decomposition or expansion expressions that do not compose naturally with ordinary control flow. In C++, for example, accessing elements of parameter packs has traditionally relied on unintuitive recursive patterns that "peel off" elements. This paper presents Pack Iteration, a feature introduced in Swift 6.0 that allows developers to iterate over parameter packs using a familiar, imperative for-in loop. By treating pack expansion as a first-class source for iteration, Swift bridges the gap between high-level expressiveness and advanced generic programming. We detail the design and implementation of this feature within the Swift compiler, focusing on the challenges of bridging static type-checking in the constraint system with dynamic execution in the Swift Intermediate Language. Unlike traditional models that expand packs at compile time, Swift's implementation supports on-demand evaluation, enabling efficient dynamic iteration and short-circuiting control flow. Our empirical evaluation confirms that pack iteration provides performance comparable to - and sometimes significantly better than - the complex workarounds previously required.
- Abstract(参考訳): Variadicジェネリクスはタイプセーフなメタプログラミングのための強力なツールである。
しかし、ほとんどの広く使われている言語では、通常の制御フローと自然に構成しない再帰的分解や拡張表現のような複雑なパターンに依存しているため、「専門のみ」の機能のままである。
例えば、C++では、パラメータパックの要素にアクセスすることは、伝統的に要素を"ペエルオフ"する直感的な再帰的なパターンに依存してきた。
この記事では、Swift 6.0で導入されたPack Iterationを紹介します。
パック拡張をイテレーションの第一級ソースとして扱うことで、Swiftはハイレベル表現性と高度なジェネリックプログラミングのギャップを埋める。
我々は、Swiftコンパイラにおけるこの機能の設計と実装について詳述し、Swift Intermediate Languageにおける動的実行を伴う制約システムにおける静的型チェックのブリッジに関する課題に焦点を当てた。
コンパイル時にパックを拡張する従来のモデルとは異なり、Swiftの実装はオンデマンド評価をサポートし、効率的な動的イテレーションと短時間の制御フローを可能にする。
私たちの経験的評価では、パックイテレーションは、以前必要としていた複雑な回避策に匹敵するパフォーマンスを提供する。
関連論文リスト
- Alternative UX Extensions and Their Trade-offs for Code Completion in Pharo [0.13381749415517016]
Complishonは、Pharoのコンテキスト対応のコード補完エンジンである。
本稿では,これらの限界に対処する4つの拡張について述べる。
各拡張について、実装を説明し、代替設計について議論し、関連するトレードオフを説明します。
論文 参考訳(メタデータ) (2026-07-27T10:42:53Z) - Conditional Execution of Transpiler Passes Based on Per-Script Feature Detection [0.0]
本稿では,言語機能セットの正確な追跡と動的維持に基づいて,トランスパイラパスを条件付きで実行するコンパイラの改良を提案する。
大規模生産モノレポに対するこの改善の評価は、コンパイル時間とメモリ使用量を大幅に削減した。
論文 参考訳(メタデータ) (2026-03-17T19:54:22Z) - From Separate Compilation to Sound Language Composition [7.697692044735504]
この研究は、Neverlang言語ワークベンチのデータフロー分析に基づく理論的に健全な静的解析ツールであるnlgcheckを紹介した。
nlgcheckはコンパイル時に潜在的ランタイムエラー(未定義の属性アクセスなど)を検出し、強い静的正当性保証を維持しながら、別個のコンパイルを保存する。
論文 参考訳(メタデータ) (2026-02-03T17:38:34Z) - Compiling by Proving: Language-Agnostic Automatic Optimization from Formal Semantics [0.0]
シンボル実行とグラフ構造のコンパイルにより全パス到達可能性証明を構築する。
我々は、多くの意味的な書き直しを単一のルールに集約し、建設による正確性を維持します。
我々はこれを言語に依存しないKフレームワークの拡張として実装する。
論文 参考訳(メタデータ) (2025-09-26T02:49:08Z) - Text2Mem: A Unified Memory Operation Language for Memory Operating System [59.082901444153684]
モデルエージェントのための統一メモリ操作言語であるText2Memを紹介する。
Text2Memは、自然な正確性を保証するための標準化されたパスを提供する。
論文 参考訳(メタデータ) (2025-09-14T07:30:09Z) - Decompiling Rust: An Empirical Study of Compiler Optimizations and Reverse Engineering Challenges [0.0]
Rustバイナリの分解は、言語のリッチな型システム、アグレッシブなコンパイラ最適化、ハイレベルな抽象化の広く使われるため、難しい。
コアRust機能とコンパイラビルドモードの非コンパイル品質をベンチマークで評価する。
私たちの調査結果は、ツール開発者にとって実用的な洞察を提供し、Rust対応のデコンパイル戦略の必要性を強調しています。
論文 参考訳(メタデータ) (2025-07-24T20:26:42Z) - Neuro-Symbolic Query Compiler [57.78201019000895]
本稿では,このギャップを埋めるために,言語文法規則とコンパイラ設計に触発されたニューラルシンボリックなフレームワークQCompilerを提案する。
理論上は、複雑なクエリを形式化するのに最小でも十分なバックス・ナウアー形式(BNF)の文法を$G[q]$で設計する。
葉のサブクエリの原子性は、より正確な文書検索と応答生成を保証し、複雑なクエリに対処するRAGシステムの能力を大幅に改善する。
論文 参考訳(メタデータ) (2025-05-17T09:36:03Z) - Outline, Then Details: Syntactically Guided Coarse-To-Fine Code
Generation [61.50286000143233]
ChainCoderは、Pythonコードを段階的に生成するプログラム合成言語モデルである。
自然言語記述と構文的に整合したI/Oデータサンプルを共同で符号化するために、カスタマイズされたトランスフォーマーアーキテクチャを利用する。
論文 参考訳(メタデータ) (2023-04-28T01:47:09Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。