首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到10条相似文献,搜索用时 78 毫秒
1.
Summary The use of higher order functions in functional programming opens up the possibility of defining functions by partial parametrization, and lazy evaluation brings out a new approach in programming methodology. This paper describes a new transformation technique based on partial parametrization and fully lazy evaluation for eliminating multiple traversais of data structures. It uses no particular mechanisms in functional programming, whereas it transforms a wider class of programs into efficient ones than that proposed so far.  相似文献   

2.
Frank G. Pagan 《Software》1988,18(6):509-527
There is an effective and quite general method of manually deriving compilers from programming-language interpreters without dealing directly with machine language. The method is an implementation of the largely theoretical and under-appreciated concept of partial computation, but can be understood on its own terms. It involves the translation of a source program's intermediate form into the interpreter's implementation language. This paper shows how the method can be used to transform both a sample iterative interpreter and a sample recursive interpreter into compilers. The result can be a large gain in program execution speed. Other advantages of the method, including the ease and practicality of applying it, are discussed.  相似文献   

3.
基于重写方法的程序开发系统的设计和实现   总被引:2,自引:0,他引:2  
林凯  孙永强 《计算机学报》1996,19(9):641-648
本文介绍了一个基于重写方法的程序开发系统的设计和实现。该系统使用代数规范说明语言和扩展的函数式语言合成而形成的混合语言进行程序设计。系统将代数规范转换为合流的重写系统,并以平行最外方法辅以必要归约进行计算。该文详细介绍了系统的原理和实现技术,并以一些实例说明了系统的特点。  相似文献   

4.
Hudak  P. 《Software, IEEE》1988,5(1):54-61
A method is presented that takes functional programming one step further by letting the programmer change operational (parafunctional) details without restructuring or rewriting the program. Parafunctional programming is based on the premise that the what (specification) and the how (implementation) are separately identifiable and maintainable system components. Unlike conventional programming methods, parafunctional programming maintains this separation by metalinguistic constructs in the source language and a programming environment that supports structured editing and high-level debugging  相似文献   

5.
The Jordan form assignment problem (complete and partial) for linear multivariable control system is formulated and completely solved by the unified Sylvester matrix equation approach. A new explicit parametrization of all state feedbacks assigning an admissible Jordan form through the minimum number of parameters is provided. The main advantage of this parametrization, unlike previous ones, is that it is explicit; thus, it can be used, not only for numeric, but also symbolic computations. This fact is demonstrated on the problem of parametrization of all output feedbacks assigning an admissible Jordan form, where Gröbner basis method is applied. Developed algorithms for Jordan form assignment by state and output feedback are implemented in the freely available Maple package.  相似文献   

6.
Eleven published programs for performing nonlinear regression using a microcomputer have been reviewed. They have been assessed according to many criteria, especially: application, program language, algorithm used, method for calculating partial differentials, facility for weighting, desirable input and output features, robustness during execution, memory requirements, accessability, ease of implementation and evaluation and testing. No one program contains all the desirable characteristics discussed, but guidance is given as to which might be the most suitable for a particular purpose or for a given microcomputer system.  相似文献   

7.
Partial evaluation is a program transformation that automatically specializes a program with respect to invariants. Despite successful application in areas such as graphics, operating systems, and software engineering, partial evaluators have yet to achieve widespread use. One reason is the difficulty of adequately describing specialization opportunities. Indeed, underspecialization or overspecialization often occurs, without any feedback as to the source of the problem. We have developed a high-level, module-based language allowing the program developer to guide the choice of both the code to specialize and the invariants to exploit during the specialization process. To ease the use of partial evaluation, the syntax of this language is similar to the declaration syntax of the target language of the partial evaluator. To provide feedback, declarations are checked during the analyses performed by partial evaluation. The language has been successfully used by a variety of users, including students having no previous experience with partial evaluation.  相似文献   

8.
Two key features in the Icon programming language are tables and sets. An Icon program may use one large set or table, or thousands of small ones. To improve space and time performance for these diverse uses, their hashed data structures were reimplemented to dynamically resize during execution, reducing the minimum space requirement and achieving constant-time access to any element for virtually any size set or table. The implementation is adapted from Per-Åke Larson's dynamic hashing technique by using well-known base-2 arithmetic techniques to decrease the space required for small tables without degrading the performance of large tables. Also presented are techniques to prevent dynamic hashing from interfering with other Icon language features. Performance measurements are included to support the results.  相似文献   

9.
FP—VLSI自动综合系统是一个集成化的VLSI自动设计工具,它能完成从并行算法到脉动算法到脉动结构再到逻辑结构最后到CMOS版图的自动综合过程.FP—VLSI系统以脉动阵列为VLSI的体系结构,采用具有良好代数性质的FP/B语言作为各层次的描述语言,通过程序变换进行综合和优化.该系统支持形式化的VLSI设计方法,能保证设计结果的正确性.  相似文献   

10.
P. J. Brown 《Software》1981,11(8):831-843
This paper argues that programs are better regarded as dynamic running objects rather than as static textual ones. The concept of dynamic building, whereby a program is constructed as it runs, is described. It also describes the Builder system, which is an implementation of dynamic building for an interactive algebraic programming language. Dynamic building aids the locating of run-time errors, and is especially valuable in environments where programs are relatively short but run-time errors are frequent and/or costly. It is a good method for non-specialist programmers.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号