call/ccからcall/iocへの自動変換
スポンサーリンク
概要
- 論文の詳細を見る
継続とはある時点以降の残りの計算を表したものである. Lispの一方言であるSchemeでは, 継続をデータとして扱うことが可能であり, これによって, 非局所的脱出やコルーチン, マルチタスクなど様々な制御構造を実現することができる. 継続の生成と呼出しには時間がかかるために, 呼出しは一回に限るが, いつどこからでも呼び出すことができるindefinite one-time continuation(IOC)が提案されている. 従来の継続をIOC に置き換えることによって, Schemeプログラムの性能を著しく向上させることができる. しかし一般に, この変換を手動で行なうことは難しく, 変換を間違えるとプログラムが正しく動作しないという問題がある. そこで本論文では, プログラム全体の解析により, IOCに置き換えることができる継続を自動検出するためのアルゴリズムを提案する.
- 1996-09-03
著者
関連論文
- L-Closure : 高性能・高信頼プログラミング言語の実装向け言語機構
- 階層的グループ化に基づくコピー型ごみ集めによる局所性改善
- データ並列言語におけるベクトルプロセッサ向きコード生成
- 共有メモリプログラミングのための拡張C言語
- 標準プログラム言語の国際化
- 動的名前解決による通信先・移動先の柔軟な指定が可能な分散アンビエントシステムの設計
- 1.高信頼組込みシステムのための先進ソフトウェア技術(第1部:高い生産性を持つ高信頼ソフトウェア作成技術の開発,学と産の連携による基盤ソフトウェアの先進的開発)
- 4L-8 継続の共有化による継続ベースWebサーバのメモリ使用量削減(要求定義とプログラミング言語・設計・実装,学生セッション,ソフトウェア科学・工学)
- 4L-6 Webアプリケーションのための動的適応可能な処理分担機構の設計と実装(要求定義とプログラミング言語・設計・実装,学生セッション,ソフトウェア科学・工学)
- 構成的理論に基づいたプログラミング言語Zとその実装
- L-Closureを用いた真に末尾再帰的なSchemeインタプリタ
- リターンバリア型実時間ごみ集めの抽象モデル検査
- Cache-conscious階層的グループ化データ配置法:Cache-oblivious配置法との実験的比較
- タプル空間によるブラウザ間通信を備えたScheme処理系の開発
- 2L-5 スタックスキャンを中断させるリターンバリアごみ集め(リーディングプロジェクト e-society:高信頼性組み込みソフトウェア(2),一般セッション,リーディングプロジェクト e-society)
- 情報化
- リージョン変数の動的なエイリアス判定によるメモリ効率向上
- 遅延分割型負荷分散フレームワークの試験実装
- スタックベースのML処理系における効率的な一級継続の実装
- 国内予選を突破せよ(プログラム・プロムナード)
- 実時間処理に適したメモリ管理を行うLisp処理系の設計と実装
- 入れ子関数を利用する動的負荷分散と高水準記述(言語処理系)
- 細粒度マルチスレッド言語における例外処理の効率良い実装
- 組み込みシステムにおける複数のフリーリストに割り振るメモリ量の最適化
- Java上のScheme処理系「ぶぶ」の実装
- call/ccからcall/iocへの自動変換
- 無制限の寿命を持つ単一呼出継続
- Indefinite One-time Continuation
- Future ベースの並列 Scheme における継続の拡張
- ヒューマノイド行動ソフトウェア基盤におけるマルチスレッドLispへの実時間GC機能の導入(サイバー増大ページ論文概要,新しいソフトウェアの実現,サイバー増大号)
- 4P-1 ページ遷移を考慮したWebアプリケーション記述言語の設計と実装(プログラミング言語,学生セッション,ソフトウェア科学・工学,情報処理学会創立50周年記念)
- オブジェクト指向並列言語OPAのための遅延正規化手法
- 遅延タスク生成の反復計算向け拡張(並列処理)
- オブジェクト指向並列言語OPAのためのコード生成手法
- マルチコンテキスト管理をサポートする実装用言語
- 3Z-7 並列言語OPAにおける一貫性制御に対応した差分プログラミング
- Scheme処理系におけるC言語拡張コードへのライトバリア自動挿入
- Scheme処理系におけるC言語拡張コードへのライトバリア自動挿入
- データ並列言語における擬似ベクトル処理のための実行方式
- ロボット行動ソフトウェア環境に適した実時間ごみ集め(サイバー増大ページ論文概要,サイバー増大号)
- ネットワークコミュニティにおける関心の類似性に基づいた知識共有の促進(インタラクション技術の革新と実用化)
- Zinger:関心の類似性に基づく会話支援エージェント(「情報メディアとインタフェース」および一般)
- 共有メモリ向けプリミティブとそのGCCを使った実現
- データ並列言語におけるベクトルプロセッサ向きコード生成
- 1Q-4 WebアプリケーションにおけるJavaScript計算の移送機構(プログラミング言語・実装・支援,学生セッション,ソフトウェア科学・工学)
- 入れ子関数を利用した動的負荷分散
- Java上のScheme処理系「ぶぶ」における単一のクラスローダを用いたオブジェクトシステムの実装
- プログラムの部分移送に基づく遠隔実行機構とその知的インタフェースへの応用
- 3Z-6 並列Schemeにおける即時タスク生成法と遅延タスク生成法の融合
- 産業界からの理工系情報学科の研究教育内容への期待と大学の取り組み
- リターン・バリア
- Silly Sort(プログラム・プロムナード)
- 継続の生成におけるスタックコピーの遅延
- SchemeにおけるEvaluation Strategyの設計と実装
- 4L-6 ISLISPコンパイラの実装
- ワークスティーリングフレームワークにおけるブロードキャスト機能
- スタックの直接操作を必要としない一級継続の実装
- 入れ子関数を利用したマルチスレッドの実現
- Javaと相互呼び出し可能なScheme処理系「ぶぶ」における継続機能と例外処理機能の実装
- データ並列言語における通信最適化のためのコード移動手法
- サーバ・クライアント処理の動的分割・再配置機能を備えたWebアプリケーション用言語
- Safe AmbientsのためのJavaフレームワーク
- Javaクラスライブラリに対する言語間インタフェース
- 複数の最上位環境をサポートするLispモジュール機能
- 共有メモリ関連命令を生成可能な実装用言語の設計
- 部分評価を応用した動的Webページのキャッシュ機構
- SIMD型並列計算機SM-1(特集知られざる計算機)
- 末尾再帰の最適化と一級継続を実現するためのJVMの機能拡張
- MPIを用いたデータ並列C言語NCXの実装
- ソフトウェア紹介 TUTScheme
- Weak Consを用いたマクロ再定義時の自動再コンパイル
- ACM国際学生プログラミングコンテスト