[1] Kay A C.The early history of smalltalk[J].ACM SIGPLAN Notices, 1993, 28(3):69-95.
[2] Goldberg A, Robson D.Smalltalk-80:the language and its implementation[M].Massachusetts:Addison Wesley, 1983.
[3] Scott M L.Programming language pragmatics[M].2nd ed.Morgan Kaufmann Press, 2005.
[4] Friedman D P, Haynes C T, Wand M. Essentials of programming languages [M].3rd ed.MIT Press, 2008.
[5] Meijer E, Drayton P.Static typing where possible, dynamic typing when needed:the end of the cold war between programming languages[C]//OOPSLA Workshop on Revival of Dynamic Languages.New York:ACM Press, 2004.
[6] Bracha G, Cook W.Mixin-based inheritance[C]//Proc Joint ACM Conference on Object-Oriented Programming, Systems, Languages and Applications and the European Conference on Object-Oriented Programming.New York:ACM Press, 1990:303-311.
[7] Ancona D, Lagorio G, Zucca E.Jam—designing a Java extension with mixins[J].ACM Transactions on Programming Languages and Systems, 2003, 25(5):641-712.
[8] Bouraqadi N.Safe metaclass composition using mixin-based inheritance[J].Journal of Computer Languages, Systems and Structures, 2004, 30(1/2):49-61.
[9] Forman I R, Danforth S H.Putting metaclasses to work[M].New York:Addison Wesley, 1998.
[10] Graube N.Metaclass compatibility[C]//Proc of the 4th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications.New York:ACM Press, 1989:305-315.
[11] Bouraqadi N, Ledoux T, Rivard F.Safe metaclass programming[C]//Proc of the 13th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications.New York:ACM Press, 1998:84-96.
[12] Cao Jing, Xu Baowen.Safe metaclass programming based on non-strictly parallel single inheritance[C]//Proc of the 5th Conference on the Development and Education of Programming Languages.Beijing:Tsinghua University Press, 2006:19-26.(in Chinese)
[13] Smith B C.Reflection and semantics in Lisp[C]//Proc of the 11th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages.New York:ACM Press, 1984:23-35.
[14] Maes P.Concepts and experiments in computational reflection[C]//Proc of the 2nd ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications. New York:ACM Press, 1987:147-155.
[15] Ferber J.Computational reflection in class based object oriented languages[C]//Proc of the 4th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications.New York:ACM Press, 1989:317-326.
[16] Sullivan G.Aspect-oriented programming using reflection and metaobject protocols[J].Communications of the ACM, 2001, 44(10):95-97.
[17] Kojarski S, Lorenz D H.AOP as a first class reflective mechanism[C]//Proc of the 19th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications.New York:ACM Press, 2004:216-217.
[18] Kiczales G, Rivieres J, Bobrow D G.The art of the metaobject protocol[M].MIT Press, 1991.
[19] Gosling J, Joy B, Steele G, et al.The Java language specification [M].3rd ed.New York:Addison Wesley, 2005.