蓄積引数を持つ関数プログラムの融合変換
スポンサーリンク
概要
- 論文の詳細を見る
関数プログラムでは、関数合成間で受け渡される中間的データ構造を生成しないように、関数合成を1つの関数に融合する(融合変換する)ことが、効率改善にとって重要である。構成的アルゴリズム論は、Catamorphism、Hylomorphismなどと呼ばれる特定の再帰パターンと、これらに対する強力な変換定理を用いて、上の問題の解決を試みる。本論文は、蓄積引数を持つ関数の融合変換のための2つの手法-高階関数のCatamorphismに基づく方法とHylomorphismに基づく方法-に注目し、前者に基づく融合変換操作は、後者による融合変換に帰着できることを示す。まず簡単な具体例を通して両手法の変換手順を示した後、一般の場合について上の主張を証明する。本論文で示される事実により、構成的アルゴリズム論に基づくプログラム変換システムでは、Hylomorphismを用いた変換だけを考えればよいという、有益な結論が得られる。
- 一般社団法人情報処理学会の論文
- 1998-03-15
著者
関連論文
- 実行コンテキストに応じたポリシー指定が可能なサンドボックス(セキュリティ)
- カーネルレベルルートキットの検知システムの構築(セッション3:高セキュア・高信頼化)
- 3M-5 Bidirectional XML Transformation with Bi-X
- 3M-4 依存関係記述スキーマによる双方向XMLアプリケーションの開発(リーディングプロジェクト e-society:高信頼プログラミング言語と構造化文書変換技術,一般セッション,リーディングプロジェクト e-society)
- 3M-3 双方向変換に基づくウェブパブリッシング支援システムVu-X(リーディングプロジェクト e-society:高信頼プログラミング言語と構造化文書変換技術,一般セッション,リーディングプロジェクト e-society)
- なぜソフトウェア論文を書くのは難しい(と感じる)のか
- 特集「ソフトウェア論文」の編集にあたって
- 特集「ソフトウェア論文」の編集にあたって(ソフトウェア論文)
- 4.並列計算パターン(スケルトン)による並列プログラミング(マルチコアを活かすお手軽並列プログラミング)
- モデル検査技術を利用したプログラム解析器の生成ツール
- 世代別Mostly-Copying GCのRuby VMへの実装と評価
- 世代別Mostly-Copying GCのRuby VMへの実装に向けて
- ブラウザで動作するウェブアプリケーションのソースコード隠蔽機構
- サーバ/クライアント自動分割を備えたWebフレームワークの設計と実装
- 並列プログラムの候補生成と適合性検査による並列化
- Haskellプログラムの開発を支援するGHCiデバッガフロントエンド
- 図表的文書の記述モデルAFAL
- 補関数の生成による複製機能付きプログラムの自動双方向化
- Generator-of-generators に基づく Fortress ライブラリ
- リスト上の最大マーク付け問題を解く並列プログラムの導出
- 木スケルトンによるXPathクエリの並列化とその評価
- 木上の双方向変換を利用したファイルマネージャの実現
- 木上の双方向変換を利用したファイルマネージャの実現
- データマイニングのアルゴリズム記述を容易にする拡張行列演算の提案
- 決定論的2階パターンとプログラム変換への応用
- プログラムの更新を可能とするCheckpoint/Restart機構
- メソッド実行委託を用いたRubyプロセスの負荷分散ライブラリ
- 純関数型言語の処理系における効率的な枝刈り機構の実装
- 特集「最新コンパイラ技術とCOINSによる実践」の編集にあたって
- 非同期処理のためのJavaScriptマルチスレッドフレームワーク
- リクエスト待機間隔を考慮したウェブサーバのkeep-alive時間の自動設定
- 要求駆動計算における要求粒度調節機構(プログラミング言語の設計)
- ユーザ入力の構文木解析によるSQLインジェクション攻撃防御法
- 要求の粒度が調節可能な遅延評価機構
- マルチプロセッサ Unix マシン上における並列言語処理系の実装法の検討
- 利得の最適連想規則を求める線形時間アルゴリズムの導出
- 最大重み和問題の線形時間アルゴリズムの導出
- ACM PLI 2000会議報告
- ナップサック問題およびその発展問題の統一的解法
- プログラム融合変換の実用的有効性の検証
- HYLOシステムによるプログラム融合変換の実現
- 枝刈り機構とメモ化機構をもつ言語
- 関係代数によるUNITYループの意味づけ
- 再帰的に定義された関係からのアルゴリズムの導出
- 推移律に基づく共起グラフのクラスタ分け
- 推移律に基づく共起グラフのクラスタ分け
- 非対訳コーパスを用いた訳語関係の抽出
- 木変換言語の双方向化に関する事例研究(サイバー増大ページ論文概要,新しいソフトウェアの実現,サイバー増大号)
- プログラムの更新を可能とする Checkpoint/Restart 機構
- 編集にあたって(研究会推薦博士論文速報)
- 編集にあたって(研究会推薦博士論文速報)
- 編集にあたって(研究会推薦博士論文速報)
- 「不惑」の中国若手研究リーダーたち
- スケルトン並列プログラミング
- 最適化機構を持つC++並列スケルトンライブラリ(サイバー増大ページ論文概要,サイバー増大号)
- Joseph E. Stoy : Denotational Semantic: The Scott-Strachey Approach to Programming Language Theory, MIT Press, 1977(20世紀の名著名論)
- 需要変化に動的に対応する伸縮自在サーバ群の基本機構(コンピュータシステム)
- ファイル移送に基づく分散ファイルシステムの設計と実装
- 特定のフォーマットに依存しない文書処理系の設計と実装
- P2P型ファイル検索における高スループット・ピアの自動選択機構(インターネットとセキュリティ)
- モバイルコード技術によるアプリケーション層プロトコルのユーザ透過な配布機構(ソフトウェアシステム)
- しりとりゲームの数理的解析(ゲームプログラミング)
- 変換戦略の記述に基づくプログラムの自動生成システムの実装
- 最小属性値を持つ多次元探索木の提案.
- D.E.Knuth, J.H.Morris, V.R.Pratt : Fast Pattern Matching in Strings(20世紀の名著名論)
- 初心者入門用言語「若葉」の言語仕様と処理系の実装
- 論理的関係に基づくプレゼンテーションスライド作成システムの設計と開発
- 論理的関係に基づくプレゼンテーションスライド作成システムの設計と開発
- 5E-8 PostScriptインタプリタを利用したプレゼンテーションシステム
- 初心者入門用言語"若葉"によるプログラミング学習環境の設計と実現
- 第三言語を介した対訳辞書の作成(並列処理)
- 蓄積引数を持つ関数プログラムの融合変換
- 関数プログラムのプロモーション変換のための二手法の関係
- フジアで情報学の「梁山泊」を造る
- 部品合成による漢字スケルトンフォントの作成
- 平面上の矩形和の最大値問題の並列プログラムの導出
- 排他制御機構を選択できるクリティカルセクションの設計と実装
- Catamorphismに基づく関数プログラムの変換
- Catamorphismに基づく関数プログラムの変換
- Lispにおける並列動作の記述と実現
- 数理工学への誘い プログラム運算の数理--数式運算による並列プログラミング
- グラフの探索関数の再帰的定義と変換(特集●プログラミング及びプログラミング言語)
- Glasgow Haskell Compilerにおける再帰的データ構造のための遅延オブジェクトの再利用 (プログラミング Vol.5 No.2)
- ビットマップマーキングを利用したマークコンパクトごみ集めのJikes RVMへの実装
- プログラム運算による並列プログラミング(特集・新世紀フォーラム)