Quaject
In
The main purpose of quajects is to provide an
Quajects differ from more conventional objects in two key ways: first, they always use a form of the dependency injection pattern to manage both interfaces to other quajects, and continuations out of the quaject; the list of callentry references for this is part of quaject creation, and may be updated during the quaject's lifetime. Second, and more critically, a given quaject's set of methods can be unique to the specific quaject; methods for a type or class of quajects are stored as one or more templates, rather than as fixed code. While shared methods can be accessed through a common table of pointers, individual quajects can also have methods that are generated specifically to tailor the performance for that quaject's behavior.
References
- Massalin, Henry; Ioannidis, John (1992). Synthesis: An Efficient Implementation of Fundamental Operating System Services (PDF) (PhD thesis). New York: Department of Computer Sciences, Columbia University. UMI Order No. GAX92-32050. Archived (PDF) from the original on 2017-07-04. Retrieved 2012-04-25. [1] Archived 2016-03-12 at the Wayback Machine
- Valerie Henson (2008-02-20). "KHB: Synthesis: An Efficient Implementation of Fundamental Operating Systems Services". LWN.net.
- ^ Poole, Gary Andrew (1996-12-01). "Qua". Wired. Condé Nast. Archived from the original on 2017-07-04. Retrieved 2016-08-23.