Abstract Midgard is a design and prototype of an incremental program development environment, where part of the development of a program is carried out in the context of an execution of the program itself. Midgard is based on dynamic extensibility supported by a dynamic compiler and an incremental linker. The goal of Midgard is to provide better support for exploratory programming by enabling the developer to experiment with different designs and solutions while maintaining a low turn--around time during most of the development. A prototype implementation for the block structured statically checked object--oriented programming language BETA is presented and the underlying techniques for compilation and linking are described. The prototype has the traditional benefits of static checking and gains some of the flexibility associated with exploratory programming environments. Furthermore the techniques used for dynamic compilation and incremental linking are relatively simple compared to other systems supporting exploratory programming for statically checked object--oriented languages.
|
1268
|
The C++ Programming Language
– Stroustrup
- 1997
|
|
1127
|
Smalltalk-80: The Language and Its Implementation
– Goldberg, Robson
- 1983
|
|
1015
|
The C Programming Language
– Kernighan, Ritchie
|
|
484
|
SELF: The Power of Simplicity
– Ungar, Smith
- 1987
|
|
182
|
Smalltalk-80: The Interactive Programming Environment
– Goldberg
- 1983
|
|
139
|
Optimizing Dynamically-Dispatched Calls With RunTime Type Feedback
– Hölzle, Ungar
- 1994
|
|
124
|
The Cornell Program Synthesizer: a syntax-directed programming environment
– Teitelbaum, Reps
- 1981
|
|
104
|
The Programming Language Pascal
– WIRTH
- 1971
|
|
68
|
The interlisp programming environment
– Teitelman, Masinter
- 1981
|
|
50
|
Reconciling responsiveness with performance in pure object-oriented languages
– Holzle, Ungar
- 1996
|
|
39
|
Programming as an Experience: The Inspiration for Self
– Smith, Ungar
- 1995
|
|
38
|
Simula 67—common base language
– Dahl, Myhrhaug, et al.
- 1968
|
|
35
|
Sifting out the Gold: Delivering Compact Applications from an Exploratory Object-oriented Programming Environment
– Agesen, Ungar
- 1994
|
|
32
|
The cost of selective recompilation and environment processing
– Adams, Tichy, et al.
- 1994
|
|
23
|
A Framework for Selective Recompilation in the Presence of Complex Intermodule Dependencies
– Chambers, Dean, et al.
- 1995
|
|
17
|
Incremental semantic analysis
– Hedin
- 1992
|
|
17
|
The Self-4.0 User Interface: Manifesting the System-wide Vision of Concreteness, Uniformity, and Flexibility
– Smith, Maloney, et al.
|
|
16
|
The Language
– Eiffel
- 1992
|
|
13
|
Object-Oriented Environments { The Mjlner Approach
– Knudsen, Lofgren, et al.
- 1993
|
|
8
|
Open Issues in Object-oriented Programming -- A Scandinavian Perspective
– Madsen
- 1995
|
|
8
|
Integral C -- A practical environment for C programming
– Ross
- 1987
|
|
4
|
Languages and interactive software development
– Graham
- 1994
|
|
4
|
Programming in an Interactive Environment
– Sandewall
- 1978
|
|
4
|
Power Tools for Programmers
– Sheil
- 1983
|
|
2
|
The Mj��lner Orm System, chapter 1
– Magnusson
- 1993
|
|
1
|
Dynamic program building
– Brown
- 1981
|
|
1
|
Prelimenary experiences from the DICE system a distributed incremental environment
– Fritzon
- 1984
|
|
1
|
Systems and tools for exploratory programming overview and examples
– Fritzon
- 1986
|
|
1
|
Supporting Exploratory Programming, chapter 27
– Hedin, Magnusson
- 1993
|
|
1
|
A prototype for a simple dynamic BETA environment. Personal conversation and demonstration
– Minidyn
- 1996
|
|
1
|
An object--oriented metaprogramming system, chapter 19
– Madsen, N��rgaard
- 1993
|
|
1
|
Tailorable Systems: Design, Support, Techniques, and Applications
– Malhotra
- 1994
|
|
1
|
The design of an interactive program development system for Pascal
– Nordstrom
- 1984
|
|
1
|
Midgard -- En dynamisk programmeringsomgivelse baseret pa ekstensibilitet
– R��n, Schade
- 1997
|