% CSci 658-01: Software Language Engineering \
  Python 3 Reflexive Metaprogramming 
% **H. Conrad Cunningham** 
% **29 April 2018**

| Copyright (C) 2018, 
  [H. Conrad Cunningham ](<http://www.cs.olemiss.edu/~hcc>)
| Professor of 
  [Computer and Information Science ](<https://www.cs.olemiss.edu>)
| [University of Mississippi ](<http://www.olemiss.edu>)
| 211 Weir Hall
| P.O. Box 1848
| University, MS 38677
| (662) 915-5358

**Advisory**: The HTML version of this document requires use of a
browser that supports the display of MathML. A good choice as of
April 2018 is a recent version of Firefox from Mozilla.

<!--
1234567890123456789012345678901234567890123456789012345678901234567890
-->

\setcounter{section}{-1}

## Chapters

1.  Introduction \
    \[[HTML](<Py3RefMeta01.html>)\]
    \[[PDF](<Py3RefMeta01.pdf>)\]

#.  Basic Features Supporting Metaprogramming \
    \[[HTML](<Py3RefMeta02.html>)\]
    \[[PDF](<Py3RefMeta02.pdf>)\]

#.  Decorators and Metaclasses (Debugging Case Study) \
    \[[HTML](<Py3RefMeta03.html>)\]
    \[[PDF](<Py3RefMeta03.pdf>)\]



