プログラミング
ビジュアルコードとテキストコードの混合
Mixing Visual and Textual Code (arxiv.org)
要約
既存のプログラミング言語は、ドメイン固有の幾何学的アイデアを表現する際にテキストのみをサポートしている。本稿では、開発者がテキストとビジュアルの構文を組み合わせてアイデアを表現できるハイブリッド言語の必要性を提唱。Hybrid ClojureScriptという最初のハイブリッドプログラミング言語を紹介し、その設計がもたらす可能性と、他の言語への適用について議論する。
全文翻訳
コンピューターサイエンス > プログラミング言語 arXiv:2603.15855 (cs) [2026年3月16日提出 (v1), 最終改訂 2026年3月27日 (現バージョン, v2)]
タイトル: ビジュアルコードとテキストコードの混合
著者: Leif Andersen, Michael Ballantyne, Cameron Moy, Matthias Felleisen, Stephen Chang
Leif Andersen他4名の著者による「Mixing Visual and Textual Code」と題された論文のPDFを閲覧
PDFを閲覧 HTML (実験的)
要旨: 主要なプログラミング言語は、ドメイン固有の幾何学的アイデアを表現するために線形テキストのみをサポートしています。必要なのは、開発者がビジュアルな構文構造を作成し、アプリケーションドメインに合わせてテキストとビジュアルの構文を組み合わせてアイデアを表現できるハイブリッド言語です。この組み合わせは、2種類の構文を同等に扱い、そして同様に重要なこととして、拡張された言語がプログラマの典型的なワークフローを妨げてはなりません。これは、新しいビジュアル構文が、他の言語機能と構成可能な適切な言語拡張でなければならないことを意味します。さらに、この拡張はプログラムに関する静的推論も維持する必要があります。本稿では、そのような最初のハイブリッドプログラミング言語であるHybrid ClojureScriptを紹介します。Hybrid ClojureScriptは、プログラマがビジュアルでインタラクティブな構文を追加し、この構文のインスタンスをプログラムのテキスト内に埋め込むことを可能にします。強化されたハイブリッドIDEは、これらの埋め込まれたインスタンスをプログラマが操作するミニGUIとして表示でき、他のIDEは構文のテキスト表現を表示します。本稿では、このような拡張性メカニズムの必要性を主張し、設計の採用可能性を実証し、他の言語でこの設計を使用するために何が必要かについて議論します。
コメント: JFPにて発表予定
主題: プログラミング言語 (cs.PL)
引用元: arXiv:2603.15855 [cs.PL] (またはこのバージョンについては arXiv:2603.15855v2 [cs.PL])
https://doi.org/10.48550/arXiv.2603.15855
詳細を知るために焦点を当てる arXiv発行DOI(DataCite経由)
提出履歴
差出人: Stephen Chang [メールを見る]
[v1] 2026年3月16日月曜日 19:38:07 UTC (2,124 KB)
[v2] 2026年3月27日金曜日 23:15:52 UTC (2,123 KB)
全文リンク:
論文にアクセス: Leif Andersen他4名の著者による「Mixing Visual and Textual Code」と題された論文のPDFを閲覧
PDFを閲覧 HTML (実験的) TeXソース ライセンスを見る
現在の閲覧コンテキスト: cs.PL < prev | next > new | recent | 2026-03
閲覧変更: cs
参考文献&引用
NASA ADS
Google Scholar
Semantic Scholar
BibTeX引用をエクスポート
読み込み中...
BibTeX形式の引用 × 読み込み中...
提供データ:
ブックマーク
書誌ツール
書誌および引用ツール
書誌エクスプローラー 書誌エクスプローラーを切り替える (エクスプローラーとは?)
関連論文 関連論文を切り替える (関連論文とは?)
Litmaps Litmapsを切り替える (Litmapsとは?)
scite.ai sciteスマート引用を切り替える (sciteスマート引用とは?)
コード、データ、メディア
この論文に関連するコード、データ、メディア
alphaXiv alphaXivを切り替える (alphaXivとは?)
コードへのリンク CatalyzeX論文用コードファインダーを切り替える (CatalyzeXとは?)
DagsHub DagsHubを切り替える (DagsHubとは?)
GotitPub Gotit.pubを切り替える (GotitPubとは?)
Huggingface Hugging Faceを切り替える (Huggingfaceとは?)
ScienceCast ScienceCastを切り替える (ScienceCastとは?)
デモ
デモ
Replicate Replicateを切り替える (Replicateとは?)
Spaces Hugging Face Spacesを切り替える (Spacesとは?)
Spaces TXYZ.AIを切り替える (TXYZ.AIとは?)
関連論文
推薦者および検索ツール
影響フローチャートへのリンク 影響フローチャート (影響フローチャートとは?)
コア推薦者 コア推薦者を切り替える (COREとは?)
著者
会場
機関
トピック
arXivLabsについて
arXivLabs: コミュニティコラボレーターとの実験的プロジェクト
arXivLabsは、コラボレーターが新しいarXiv機能を当社のウェブサイト上で直接開発・共有できるフレームワークです。arXivLabsと協力する個人や組織は、私たちのオープン性、コミュニティ、卓越性、ユーザーデータプライバシーの価値観を受け入れ、遵守しています。arXivはこれらの価値観にコミットし、それに従うパートナーとのみ協力します。arXivコミュニティに価値を加えるプロジェクトのアイデアがありますか? arXivLabsについて詳しくはこちら。
この論文の著者で推薦者であるのは誰ですか? | MathJaxを無効にする (MathJaxとは?)