During recent years, several research efforts in the area of software development environments have focused on the provision of uniform Object Management Systems (OMS) as a framework for tool integration and communica...
详细信息
The components of a programming environment must communicate with the user while maintaining a state that is constantly evolving. We introduce the 'dialogue', an abstraction of such components, and we implemen...
详细信息
ISBN:
(纸本)0897911652
The components of a programming environment must communicate with the user while maintaining a state that is constantly evolving. We introduce the 'dialogue', an abstraction of such components, and we implement a dialogue function in a purely applicative language. The dialogue function exploits the properties of lasy evaluation and recursion to implement communication and state through recursively defined streams. We show how to define programming environment components using dialogues. The components of the resulting programming environment are consistent in their treatment of communication and state.
There has been a great deal of research done which investigates the problem of evaluating the complexity of particular algorithms;little effort however has been applied to the mechanization of this evaluation. This pa...
详细信息
ISBN:
(纸本)0897911652
There has been a great deal of research done which investigates the problem of evaluating the complexity of particular algorithms;little effort however has been applied to the mechanization of this evaluation. This paper presents the ACE (for Automatic Complexity Evaluator) system which is able to analyse reasonably large programs like sorting programs or numerical programs in a fully mechanical way. A complexity function is derived from the initial program. This function is then automatically transformed into its non-recursive equivalent according to MacCarthy's recursion induction principle, using a pre-defined library of recursive definitions (for example id, length, exponential . . . ). The paper presents the reasons for mechanizing complexity calculus and the problems involved. It describes the operations performed by ACE and its implementation;limitations and further improvements are discussed in conclusion.
Linking is a low-level task that is usually vaguely specified, if at all, by language definitions. However, the security of web browsers and other extensible systems depends crucially upon a set of checks that must be...
详细信息
Linking is a low-level task that is usually vaguely specified, if at all, by language definitions. However, the security of web browsers and other extensible systems depends crucially upon a set of checks that must be performed at link time. Building upon the simple, but elegant ideas of Cardelli, and module constructs from high-level languages, we present a formal model of typed object files and a set of inference rules that are sufficient to guarantee that type safety is preserved by the linking process. Whereas Cardelli's link calculus is built on top of the simply-typed lambda calculus, our object files are based upon typed assembly language so that we may model important low-level implementation issues. Furthermore, unlike Cardelli, we provide support for abstract types and higher-order type constructors - features critical for building extensible systems or modern programminglanguages such as ML.
The proceedings contain 23 papers. The topics discussed include: organizing software in a distributed environment;visual abstraction in an interactive programming environment;compiling functional languages for Von Neu...
ISBN:
(纸本)0897911083
The proceedings contain 23 papers. The topics discussed include: organizing software in a distributed environment;visual abstraction in an interactive programming environment;compiling functional languages for Von Neumann machines;attribute grammars and data-flow languages;a programmer controlled approach to data and control abstraction;specification and implementation of resilient, atomic data types;and an analysis of language models for high-performance communication in local-area networks.
This paper presents an overview of the Cedar programming environment, focusing primarily on its overall structure: the major components of Cedar and the way they are organized. Cedar supports the development of progra...
详细信息
ISBN:
(纸本)0897911652
This paper presents an overview of the Cedar programming environment, focusing primarily on its overall structure: the major components of Cedar and the way they are organized. Cedar supports the development of programs written in a single programminglanguage, also called Cedar. We will emphasize the extent to which the Cedar language, with runtime support, has influenced the organization, comprehensibility, and stability of Cedar.
This paper presents a simple programming system based on a clear separation of value-oriented programming and object-oriented programming. The value-oriented component is a conventional functional programminglanguage...
详细信息
ISBN:
(纸本)0897911652
This paper presents a simple programming system based on a clear separation of value-oriented programming and object-oriented programming. The value-oriented component is a conventional functional programminglanguage. The object-oriented component is based on a model of objects and values connected by relations, and on production system-like rules that determine the alteration of these relations through time. It is shown that these few basic ideas permit simple prototyping of a software development environment.
The Stanford University Center for Integrated Systems is embarking on an ambitious project to formally characterize integrated circuit fabrication processes, and to provide a degree of automation of research and proto...
详细信息
Recent work on generating tools and techniques have significantly eased the design and construction of programmingenvironments (PEs). Concurrently, advances in workstation hardware have enhanced both the potential ca...
This paper investigates the use of abstract recursive data structures and operations in the implementation of a structured program editor. The value-oriented semantics of the proposed constructs simplify the implement...
详细信息
ISBN:
(纸本)0897911652
This paper investigates the use of abstract recursive data structures and operations in the implementation of a structured program editor. The value-oriented semantics of the proposed constructs simplify the implementation of important features such as version control and an unbounded undo operation. Since the constructs can be implemented efficiently, their use in the structured program editor does not significantly affect its performance.
暂无评论