Kaleidoscope'93(ID:4184/kal005)


third version of Kaleidoscope


Related languages
Kaleidoscope'91 => Kaleidoscope'93   Evolution of
Kaleidoscope'93 => K-code   Target language for

References:
  • Lopez, G. et al, "Implementing Constraint Imperative Programming Languages: The Kaleidoscope'93 Virtual Machine", view details Abstract: Constraint Imperative Programming (CIP) languages integrate declarative constraints with imperative state and destructive assignment, yielding a powerful new programming paradigm. However, CIP languages are difficult to implement efficiently due to complex interactions between the two donor paradigms. Neither the virtual machines for classical object-oriented languges, nor those for existing constraint languages, are suitable for implementing CIP languages, as each assumes a purely imperative or a purely declarative computation model. We have developed a new virtual machine for CIP languages, the K-machine, an imperative machine with an incremental constraint solver and a constraint-based, rather than value-based, data store. This virtual machine allows user-defined constraints to be defined using constraint constructor definitions which are the CIP analog to method definitions. Similar to methods, these constructors are able to reference variables indirectly through many levels of pointers. The K-machine maintains relations between objects in the presence of state change to these indirectly referenced objects. The K-machine is capable of supporting a wide variety of CIP languages, including our most recent: Kaleidoscope'93. ps
          in SIGPLAN Notices 29(10) October 1994 view details