枝刈り機構とメモ化機構をもつ言語

枝刈りとメモ化は,プログラムの実行効率を改善するための技法であり,両者を組み合わせることによる相乗効果が期待できることもよく知られている.ところが従来のプログラミング言語で両者の併用を記述しようとすると,これらの技法を明示的に記述する必要が生じ,プログラムの見通しが悪くなるという問題点があった.この問題点を解決するため,本論文では,これらの技法を遅延評価を行なう純関数型言語の評価機構の中に積極的に採り入れることを提案する.拡張した言語は,枝刈りとメモ化の併用の簡潔な記述を可能にし,また,遅延評価方式よりも一般化された評価戦略を実現する.この特徴により,本言語を用いれば,必要な計算だけを進め,必...

Full description

Saved in:
Bibliographic Details
Published in日本ソフトウェア科学会大会講演論文集 p. 64
Main Authors 岩崎, 英哉, 森本, 武資, 竹内, 郁雄
Format Journal Article
LanguageJapanese
Published 日本ソフトウェア科学会 2003
Subjects
Online AccessGet full text
ISSN1349-3515
DOI10.11309/jssstconference.2003.0.64.0

Cover

More Information
Summary:枝刈りとメモ化は,プログラムの実行効率を改善するための技法であり,両者を組み合わせることによる相乗効果が期待できることもよく知られている.ところが従来のプログラミング言語で両者の併用を記述しようとすると,これらの技法を明示的に記述する必要が生じ,プログラムの見通しが悪くなるという問題点があった.この問題点を解決するため,本論文では,これらの技法を遅延評価を行なう純関数型言語の評価機構の中に積極的に採り入れることを提案する.拡張した言語は,枝刈りとメモ化の併用の簡潔な記述を可能にし,また,遅延評価方式よりも一般化された評価戦略を実現する.この特徴により,本言語を用いれば,必要な計算だけを進め,必要に応じて中断した計算を再開するincremental programmingを簡潔に記述できる.記述例としてナップサック問題を解くプログラムを取り上げ,本言語の有効性を検証する.
Bibliography:4B-3
ISSN:1349-3515
DOI:10.11309/jssstconference.2003.0.64.0