Korz

Korz is a visionary paradigm that moves beyond the objective, mechanical model of traditional programming. It embraces the messy, relative, and context-dependent nature of real-world problems. By making Subjectivity and Context first-class citizens, it offers a powerful and elegant model for building adaptive, multi-faceted, and intelligent software systems. It's a language not for telling the computer what to do, but for enabling it to see the world from many different points of view. deepseek

UNGAR, David, OSSHER, Harold and KIMELMAN, Doug, 2014. Korz: Simple, Symmetric, Subjective, Context-Oriented Programming. In: Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software. Online. New York, NY, USA: Association for Computing Machinery. 14 October 2014. p. 113–131. Onward! 2014. ISBN 978-1-4503-3210-1. DOI 10.1145/2661136.2661147. [Accessed 13 October 2025]. Korz is a new computational model that provides for context-oriented programming by combining implicit arguments and multiple dispatch in a slot-based model.

This synthesis enables the writing of software that supports contextual variation along multiple dimensions, and graceful evolution of that software to support new, unexpected dimensions of variability, without the need for additional mechanism such as layers or aspects. With Korz, a system consists of a sea of method and data slots in a multidimensional space. There is no fixed organization of slots into objects – a Slot pertains to a number of objects instead of being contained by a single object – and slots can come together according to the implicit context in any given situation, yielding subjective objects.

There is no dominant decomposition, and no dimension holds sway over any other. IDE support is essential for managing complexity when working with the slot space and with subjectivity, allowing the task at hand to dictate what subspaces to isolate and what dominance of dimensions to use when presenting nested views to the user. We have implemented a prototype interpreter and IDE, and used it on several examples. This early experience has revealed much that needs to be done, but has also shown considerable promise. It seems that Korz’s particular combination of concepts, each well-known from the past, is indeed more powerful than the sum of its parts.