The technique of hyper-programming allows program representations held in a persistent store to contain embedded links to persistent code and data. In 1994, Connor et al proposed extending this to hyper-code, in which program source, executable code and data are all represented to the user in exactly the same form. Here we explore the concept of hyper-code in greater detail and present a set of abstract language-independent operations on which various concrete systems can be based. These operations (explode, implode, evaluate, root and edit) are provided by a single user interface tool that subsumes the functions of both an object browser and a program editor. We then describe a particular implementation using PJama (persistent Java) and examine the impact of several language features on the resulting system.
Zirintsis, E., Kirby, G. N. C., & Morrison, R. (2001). Hyper-code revisited: Unifying program source, executable, and data. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 2135, pp. 232–246). Springer Verlag. https://doi.org/10.1007/3-540-45498-5_21