A Method for Implementing Functional Programming Languages
Project/Area Number 
60550260

Research Category 
GrantinAid for General Scientific Research (C)

Allocation Type  Singleyear Grants 
Research Field 
計算機工学

Research Institution  Chuo University (1986) The University of ElectroCommunications (1985) 
Principal Investigator 
NOSHITA Kohei Chuo University, 理工学部, 教授 (60011706)

CoInvestigator(Kenkyūbuntansha) 
MACHIDA Hajime University of ElectroCommunications, 電気通信学部, 助教授 (40090534)
KASAI Takumi University of ElectroCommunications, 電気通信学部, 助教授 (70027382)
TOMITA Etsuji University of ElectroCommunications, 電気通信学部, 教授 (40016598)

Project Period (FY) 
1985 – 1986

Project Status 
Completed (Fiscal Year 1986)

Budget Amount *help 
¥2,100,000 (Direct Cost: ¥2,100,000)
Fiscal Year 1986: ¥800,000 (Direct Cost: ¥800,000)
Fiscal Year 1985: ¥1,300,000 (Direct Cost: ¥1,300,000)

Keywords  Lambda Expression / Combinator / BCchain Method / Functional Programming / 計算量 
Research Abstract 
The purpose of this project is to propose a new method for implementing functional programming languages and to study algorithmic aspects of this method from the complexity viewpoint. In 1979 D.A. Turner applied combinators to a certain practical system for evaluating lambda expressions. His system is not quite efficient in the sense that the space complexity of output is at least quadratic in n, where n is the length of input expressions. In 1985 the author presented a new method for representing combinator graphs in O(n log n) space. In this project another new efficient method called BCchains is proposed, which requires only linear space in n even in the worst case. Provided the normal order reduction is assumed, this leads to a new reduction algorithm, which can be proved to run as efficiently as the standard normal order reduction algorithm even in the worst case. In fact, in some computing experiment, this algorithm is reported to run at least as fast as the standard one in the average sense as well. For translating input expressions to combinator graphs, a new algorithm is devised, which runs in O(n log n) time in the worst case. The space complexity of this algorithm can be proved to be O(n log n). The report of this project describes the details of all the algorithms mentioned above, which constitute the complete set of basic algorithms for translation as well as for execution. The report also contains some theoretical results on the complexity of related problems.

Report
(1 results)
Research Products
(11 results)